diff -Naur libxfcegui4-4.6.1/libxfcegui4/icons.c libxfcegui4-4.6.1.tpg/libxfcegui4/icons.c --- libxfcegui4-4.6.1/libxfcegui4/icons.c 2008-10-23 07:20:45.000000000 +0000 +++ libxfcegui4-4.6.1.tpg/libxfcegui4/icons.c 2009-06-14 15:34:11.000000000 +0000 @@ -143,8 +143,12 @@ ensure_gtk_icon_theme(); /* GtkIconTheme doesn't like extensions */ - if((p = g_strrstr(name, ".")) && strlen(p) < 6) - name_fixed = g_strndup(name, p-name); + if (g_str_has_suffix (name, ".png") || g_str_has_suffix (name, ".svg") + || g_str_has_suffix (name, ".xpm") || g_str_has_suffix (name, ".jpg")) + { + if((p = g_strrstr(name, ".")) && strlen(p) < 6) + name_fixed = g_strndup(name, p-name); + } pix = gtk_icon_theme_load_icon(icon_theme, name_fixed ? name_fixed : name, size, @@ -221,9 +225,13 @@ ensure_gtk_icon_theme(); /* GtkIconTheme doesn't like extensions */ - if((p = g_strrstr(name, ".")) && strlen(p) < 6) - name_fixed = g_strndup(name, p-name); - + if (g_str_has_suffix (name, ".png") || g_str_has_suffix (name, ".svg") + || g_str_has_suffix (name, ".xpm") || g_str_has_suffix (name, ".jpg")) + { + if((p = g_strrstr(name, ".")) && strlen(p) < 6) + name_fixed = g_strndup(name, p-name); + } + info = gtk_icon_theme_lookup_icon(icon_theme, name_fixed ? name_fixed : name, size, 0);