connect to "changed" signal on the GnomeIconTheme object.
2004-08-05 Rodrigo Moya <rodrigo@novell.com> * e-icon-factory.c (e_icon_factory_init): connect to "changed" signal on the GnomeIconTheme object. (icon_theme_changed_cb): g_hash_table_foreach_remove all items in the hash table. (icon_foreach_remove): callback for removing hash table items. svn path=/trunk/; revision=26834
This commit is contained in:
committed by
Rodrigo Moya
parent
7f82f1061a
commit
dccb069201
@ -1,3 +1,11 @@
|
||||
2004-08-05 Rodrigo Moya <rodrigo@novell.com>
|
||||
|
||||
* e-icon-factory.c (e_icon_factory_init): connect to "changed"
|
||||
signal on the GnomeIconTheme object.
|
||||
(icon_theme_changed_cb): g_hash_table_foreach_remove all items in the
|
||||
hash table.
|
||||
(icon_foreach_remove): callback for removing hash table items.
|
||||
|
||||
2004-08-05 Rodrigo Moya <rodrigo@novell.com>
|
||||
|
||||
Fixes #62030
|
||||
|
||||
@ -173,6 +173,17 @@ pixel_size_to_icon_size (int pixel_size)
|
||||
return icon_size;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
icon_foreach_remove (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
icon_free (value);
|
||||
}
|
||||
|
||||
static void
|
||||
icon_theme_changed_cb (GnomeIconTheme *object, gpointer user_data)
|
||||
{
|
||||
g_hash_table_foreach_remove (name_to_icon, (GHRFunc) icon_foreach_remove, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* e_icon_factory_init:
|
||||
@ -187,19 +198,18 @@ e_icon_factory_init (void)
|
||||
|
||||
icon_theme = gnome_icon_theme_new ();
|
||||
name_to_icon = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
g_signal_connect (G_OBJECT (icon_theme), "changed", icon_theme_changed_cb, NULL);
|
||||
|
||||
broken16_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) broken_image_16_xpm);
|
||||
broken24_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) broken_image_24_xpm);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
icon_foreach_free (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
icon_free (value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* e_icon_factory_shutdown:
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user