diff options
-rw-r--r-- | libnautilus-private/nautilus-file-operations.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c index 517d1312d..0315a4664 100644 --- a/libnautilus-private/nautilus-file-operations.c +++ b/libnautilus-private/nautilus-file-operations.c @@ -792,19 +792,24 @@ custom_basename_to_string (char *format, va_list va) GFile *file; GFileInfo *info; char *name, *basename, *tmp; + GMount *mount; file = va_arg (va, GFile *); - info = g_file_query_info (file, - G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, - 0, - g_cancellable_get_current (), - NULL); - - name = NULL; - if (info) { - name = g_strdup (g_file_info_get_display_name (info)); - g_object_unref (info); + if ((mount = nautilus_get_mounted_mount_for_root (file)) != NULL) { + name = g_mount_get_name (mount); + g_object_unref (mount); + } else { + info = g_file_query_info (file, + G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, + 0, + g_cancellable_get_current (), + NULL); + name = NULL; + if (info) { + name = g_strdup (g_file_info_get_display_name (info)); + g_object_unref (info); + } } if (name == NULL) { |