gtkplacessidebar: Add loop devices

This commit is contained in:
segfault3 2019-04-05 19:58:56 +00:00 committed by Matthias Clasen
parent 14d97cf547
commit d465523f65

View File

@ -1280,10 +1280,13 @@ update_places (GtkPlacesSidebar *sidebar)
} }
g_list_free_full (drives, g_object_unref); g_list_free_full (drives, g_object_unref);
/* add all network volumes that is not associated with a drive */ /* add all network volumes that are not associated with a drive, and
* loop devices
*/
volumes = g_volume_monitor_get_volumes (sidebar->volume_monitor); volumes = g_volume_monitor_get_volumes (sidebar->volume_monitor);
for (l = volumes; l != NULL; l = l->next) for (l = volumes; l != NULL; l = l->next)
{ {
gboolean is_loop = FALSE;
volume = l->data; volume = l->data;
drive = g_volume_get_drive (volume); drive = g_volume_get_drive (volume);
if (drive != NULL) if (drive != NULL)
@ -1301,9 +1304,13 @@ update_places (GtkPlacesSidebar *sidebar)
network_volumes = g_list_prepend (network_volumes, volume); network_volumes = g_list_prepend (network_volumes, volume);
continue; continue;
} }
else if (g_strcmp0 (identifier, "loop") == 0)
is_loop = TRUE;
g_free (identifier); g_free (identifier);
if (sidebar->show_other_locations && !is_external_volume (volume)) if (sidebar->show_other_locations &&
!is_external_volume (volume) &&
!is_loop)
{ {
g_object_unref (volume); g_object_unref (volume);
continue; continue;