rendered paste bodydiff --git a/hal/ghalmount.c b/hal/ghalmount.cindex e4f77e3..a7798af 100644--- a/hal/ghalmount.c+++ b/hal/ghalmount.c@@ -388,6 +388,7 @@ do_update_from_hal (GHalMount *m) HalDevice *drive; char *name; const char *icon_name;+ const char *icon_name_fallback; const char *drive_type; const char *drive_bus; gboolean drive_uses_removable_media;@@ -437,14 +438,14 @@ do_update_from_hal (GHalMount *m) /*g_warning ("drive_bus='%s'", drive_bus); */ /*g_warning ("drive_uses_removable_media=%d", drive_uses_removable_media); */ + icon_name_fallback = NULL;+ if (strlen (volume_icon_from_hal) > 0) icon_name = volume_icon_from_hal; else if (strlen (icon_from_hal) > 0) icon_name = icon_from_hal; else if (is_audio_player) icon_name = "multimedia-player";- else if (is_crypto || is_crypto_cleartext)- icon_name = "media-encrypted"; else if (strcmp (drive_type, "disk") == 0) { if (strcmp (drive_bus, "ide") == 0)@@ -475,6 +476,15 @@ do_update_from_hal (GHalMount *m) else icon_name = "drive-harddisk"; + /*+ * for cryto media we need manual fallbacks+ */+ if (is_crypto || is_crypto_cleartext)+ {+ icon_name_fallback = icon_name;+ icon_name = "media-encrypted";+ }+ if (strlen (volume_name_from_hal) > 0) name = g_strdup (volume_name_from_hal);@@ -507,9 +517,18 @@ do_update_from_hal (GHalMount *m) if (m->override_icon != NULL) m->icon = g_object_ref (m->override_icon);+ else if (icon_name_fallback)+ {+ const char *names[2];++ names[0] = icon_name;+ names[1] = icon_name_fallback;++ m->icon = g_themed_icon_new_from_names ((char **) names, 2);+ } else- m->icon = g_themed_icon_new_with_default_fallbacks (icon_name);- + m->icon = g_themed_icon_new_with_default_fallbacks (icon_name);+ /* If this is a CD-ROM, begin searching for an icon specified in * autorun.inf. **/