All pastes #966681 Raw Edit

icon thingy

public diff v1 · immutable
·published 2008-04-01 22:15 UTC
rendered paste body
diff --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.   **/