Set the filename to NULL for builtin icons, sinc

2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to
        NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf()
        depends on it.

        * tests/testicontheme.c: Report builtin icons.


svn path=/trunk/; revision=17638
This commit is contained in:
Matthias Clasen 2007-04-25 18:01:44 +00:00 committed by Matthias Clasen
parent aa3f2a792a
commit 0ac3069358
3 changed files with 24 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2007-04-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to
NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf()
depends on it.
* tests/testicontheme.c: Report builtin icons.
2007-04-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c (preview_iface_end_preview): Don't

View File

@ -2079,13 +2079,23 @@ theme_lookup_icon (IconTheme *theme,
suffix = best_suffix (suffix, allow_svg);
g_assert (suffix != ICON_SUFFIX_NONE);
file = g_strconcat (icon_name, string_from_suffix (suffix), NULL);
icon_info->filename = g_build_filename (min_dir->dir, file, NULL);
g_free (file);
if (min_dir->dir)
{
file = g_strconcat (icon_name, string_from_suffix (suffix), NULL);
icon_info->filename = g_build_filename (min_dir->dir, file, NULL);
g_free (file);
#ifdef G_OS_WIN32
icon_info->cp_filename = g_locale_from_utf8 (icon_info->filename,
icon_info->cp_filename = g_locale_from_utf8 (icon_info->filename,
-1, NULL, NULL, NULL);
#endif
}
else
{
icon_info->filename = NULL;
#ifdef G_OS_WIN32
icon_info->cp_filename = NULL;
#endif
}
if (min_dir->icon_data != NULL)
icon_info->data = g_hash_table_lookup (min_dir->icon_data, icon_name);

View File

@ -128,9 +128,9 @@ main (int argc, char *argv[])
if (argc >= 5)
size = atoi (argv[4]);
icon_info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size, 0);
icon_info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size, GTK_ICON_LOOKUP_USE_BUILTIN);
g_print ("icon for %s at %dx%d is %s\n", argv[3], size, size,
icon_info ? gtk_icon_info_get_filename (icon_info) : "<none>");
icon_info ? (gtk_icon_info_get_builtin_pixbuf (icon_info) ? "<builtin>" : gtk_icon_info_get_filename (icon_info)) : "<none>");
if (icon_info)
{