UDisksBlock *block = NULL;
gchar *s;
const gchar *cs;
+ UDisksBlock *block_for_partition = NULL;
g_return_if_fail (UDISKS_IS_DRIVE (drive));
if (partition != NULL)
{
+ GDBusObject *object_for_partition;
+ object_for_partition = g_dbus_interface_get_object (G_DBUS_INTERFACE (partition));
+ if (object_for_partition != NULL)
+ block_for_partition = udisks_object_peek_block (UDISKS_OBJECT (object_for_partition));
+ }
+ if (block_for_partition == NULL)
+ block_for_partition = block;
+
+ if (partition != NULL)
+ {
/* Translators: Used to describe a partition of a drive.
* The %d is the partition number.
* The %s is the description for the drive (e.g. "2 GB Thumb Drive").
info->description,
info->name,
drive_revision,
- udisks_block_get_preferred_device (block));
+ udisks_block_get_preferred_device (block_for_partition));
}
else
{
info->one_liner = g_strdup_printf (C_("one-liner-drive", "%s — %s — %s"),
info->description,
info->name,
- udisks_block_get_preferred_device (block));
+ udisks_block_get_preferred_device (block_for_partition));
}
}