From 7f3afa0d00f92346db3ba4b603c7342743285c4d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 6 Jan 2011 03:53:34 +0000 Subject: [PATCH] only track removable drives, add workaround for devices which are their own parent device SVN revision: 55921 --- src/bin/e_fm/e_fm_main_udisks.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/bin/e_fm/e_fm_main_udisks.c b/src/bin/e_fm/e_fm_main_udisks.c index 54c856a47..60f26cbf0 100644 --- a/src/bin/e_fm/e_fm_main_udisks.c +++ b/src/bin/e_fm/e_fm_main_udisks.c @@ -345,11 +345,9 @@ _e_fm_main_udisks_cb_store_prop(E_Storage *s, s->removable = e_ukit_property_bool_get(ret, "DeviceIsRemovable", &err); - if (s->removable) - { - s->media_available = e_ukit_property_bool_get(ret, "DeviceIsMediaAvailable", &err); - s->media_size = e_ukit_property_uint64_get(ret, "DeviceSize", &err); - } + if (!s->removable) goto error; /* only track removable media */ + s->media_available = e_ukit_property_bool_get(ret, "DeviceIsMediaAvailable", &err); + s->media_size = e_ukit_property_uint64_get(ret, "DeviceSize", &err); s->requires_eject = e_ukit_property_bool_get(ret, "DriveIsMediaEjectable", &err); s->hotpluggable = e_ukit_property_bool_get(ret, "DriveCanDetach", &err); @@ -402,6 +400,8 @@ _e_fm_main_udisks_cb_vol_prop(E_Volume *v, goto error; } + if (!e_ukit_property_bool_get(ret, "DeviceIsRemovable", &err) || err) goto error; + /* skip volumes with volume.ignore set */ if (e_ukit_property_bool_get(ret, "DeviceIsMediaChangeDetectionInhibited", &err) || err) goto error; @@ -462,6 +462,7 @@ _e_fm_main_udisks_cb_vol_prop(E_Volume *v, { v->storage = _e_fm_main_udisks_storage_add(v->udi); /* disk is both storage and volume */ if (v->storage) v->storage->volumes = eina_list_append(v->storage->volumes, v); + v->parent = v->udi; } } v->parent = eina_stringshare_add(v->parent);