[vlc-commits] commit: Fix loading of the VLC icon (Christophe Mutricy )

git at videolan.org git at videolan.org
Thu Aug 26 00:46:17 CEST 2010


vlc | branch: master | Christophe Mutricy <xtophe at videolan.org> | Wed Aug 25 23:27:19 2010 +0100| [b58531219e04935846243955e8d6a448e809739a] | committer: Christophe Mutricy 

Fix loading of the VLC icon

Both in installed and non-installed mode

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b58531219e04935846243955e8d6a448e809739a
---

 modules/misc/notify/notify.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/modules/misc/notify/notify.c b/modules/misc/notify/notify.c
index 9069e6d..6eb859a 100644
--- a/modules/misc/notify/notify.c
+++ b/modules/misc/notify/notify.c
@@ -34,6 +34,7 @@
 #include <vlc_playlist.h>
 #include <vlc_url.h>
 
+#include <gtk/gtk.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
 #include <libnotify/notify.h>
 
@@ -224,15 +225,23 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
     }
     else /* else we show state-of-the art logo */
     {
-        GError *p_error = NULL;
-        char *psz_pixbuf;
-        char *psz_data = config_GetDataDir( p_this );
-        if( asprintf( &psz_pixbuf, "%s/vlc48x48.png", psz_data ) >= 0 )
+        /* First try to get an icon from the current theme. */
+        GtkIconTheme* p_theme = gtk_icon_theme_get_default();
+        pix = gtk_icon_theme_load_icon( p_theme, "vlc", 72, 0, NULL);
+
+        if( !pix )
         {
-            pix = gdk_pixbuf_new_from_file( psz_pixbuf, &p_error );
-            free( psz_pixbuf );
+        /* Load icon from share/ */
+            GError *p_error = NULL;
+            char *psz_pixbuf;
+            char *psz_data = config_GetDataDir( p_this );
+            if( asprintf( &psz_pixbuf, "%s/icons/48x48/vlc.png", psz_data ) >= 0 )
+            {
+                pix = gdk_pixbuf_new_from_file( psz_pixbuf, &p_error );
+                free( psz_pixbuf );
+            }
+            free( psz_data );
         }
-        free( psz_data );
     }
 
     free( psz_arturl );



More information about the vlc-commits mailing list