diff --git a/gio/ChangeLog b/gio/ChangeLog index 2b6ed900b..fbb1260bd 100644 --- a/gio/ChangeLog +++ b/gio/ChangeLog @@ -1,3 +1,13 @@ +2008-11-28 Matthias Clasen + + Merged from trunk: + + Bug 559633 – gtk_image_new_from_gicon does not always work for + .desktop files + + * gdesktopappinfo.c (g_desktop_app_info_new_from_keyfile): Ignore + extensions on icon names. Proposed by Axel von Bertoldi. + 2008-11-28 Matthias Clasen Merged from trunk: diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c index f48d95113..08cf14ad9 100644 --- a/gio/gdesktopappinfo.c +++ b/gio/gdesktopappinfo.c @@ -267,7 +267,18 @@ g_desktop_app_info_new_from_keyfile (GKeyFile *key_file) g_object_unref (file); } else - info->icon = g_themed_icon_new (info->icon_name); + { + char *p; + + /* Work around a common mistake in desktop files */ + if ((p = strrchr (info->icon_name, '.')) != NULL && + (strcmp (p, ".png") == 0 || + strcmp (p, ".xpm") == 0 || + strcmp (p, ".svg") == 0)) + *p = 0; + + info->icon = g_themed_icon_new (info->icon_name); + } } if (info->exec)