summaryrefslogtreecommitdiff
path: root/monitor/udisks2/gvfsudisks2volume.c
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2011-10-10 16:59:02 -0400
committerDavid Zeuthen <davidz@redhat.com>2011-10-10 16:59:02 -0400
commite56eb56d445afc87f49971234736144d54e25bb6 (patch)
treecb8622f27f3e5afa15da6e0646395e450bae9d21 /monitor/udisks2/gvfsudisks2volume.c
parent51101993ea9c5cb7dabab4ae6cab8621abc8a038 (diff)
downloadgvfs-e56eb56d445afc87f49971234736144d54e25bb6.tar.gz
Support floppy drives
Signed-off-by: David Zeuthen <davidz@redhat.com>
Diffstat (limited to 'monitor/udisks2/gvfsudisks2volume.c')
-rw-r--r--monitor/udisks2/gvfsudisks2volume.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/monitor/udisks2/gvfsudisks2volume.c b/monitor/udisks2/gvfsudisks2volume.c
index 82e26601..5bc74657 100644
--- a/monitor/udisks2/gvfsudisks2volume.c
+++ b/monitor/udisks2/gvfsudisks2volume.c
@@ -242,12 +242,16 @@ update_volume (GVfsUDisks2Volume *volume)
}
else
{
- s = udisks_util_get_size_for_display (udisks_block_get_size (block), FALSE, FALSE);
- /* Translators: This is used for volume with no filesystem label.
- * The first %s is the formatted size (e.g. "42.0 MB").
- */
- volume->name = g_strdup_printf (_("%s Volume"), s);
- g_free (s);
+ guint64 size = udisks_block_get_size (block);
+ if (size > 0)
+ {
+ s = udisks_util_get_size_for_display (size, FALSE, FALSE);
+ /* Translators: This is used for volume with no filesystem label.
+ * The first %s is the formatted size (e.g. "42.0 MB").
+ */
+ volume->name = g_strdup_printf (_("%s Volume"), s);
+ g_free (s);
+ }
}
udisks_drive = udisks_client_get_drive_for_block (gvfs_udisks2_volume_monitor_get_udisks_client (volume->monitor),
@@ -290,6 +294,15 @@ update_volume (GVfsUDisks2Volume *volume)
volume->icon = media_icon != NULL ? g_object_ref (media_icon) : NULL;
+ /* use media_desc if we haven't figured out a name yet (applies to e.g.
+ * /dev/fd0 since its size is 0)
+ */
+ if (volume->name == NULL)
+ {
+ volume->name = media_desc;
+ media_desc = NULL;
+ }
+
g_free (media_desc);
if (media_icon != NULL)
g_object_unref (media_icon);