Prevent unwanted recursion by resetting icon_set->cache before freeing the

Sat Jun 26 01:04:31 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
	recursion by resetting icon_set->cache before freeing
	the cache.  (#144947, Tim Janik)
This commit is contained in:
Matthias Clasen 2004-06-26 05:08:36 +00:00 committed by Matthias Clasen
parent 957743919b
commit 0f9a4da84d
5 changed files with 30 additions and 5 deletions

View File

@ -1,3 +1,9 @@
Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
recursion by resetting icon_set->cache before freeing
the cache. (#144947, Tim Janik)
Sat Jun 26 00:40:02 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (render_icon_name_pixbuf):

View File

@ -1,3 +1,9 @@
Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
recursion by resetting icon_set->cache before freeing
the cache. (#144947, Tim Janik)
Sat Jun 26 00:40:02 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (render_icon_name_pixbuf):

View File

@ -1,3 +1,9 @@
Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
recursion by resetting icon_set->cache before freeing
the cache. (#144947, Tim Janik)
Sat Jun 26 00:40:02 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (render_icon_name_pixbuf):

View File

@ -1,3 +1,9 @@
Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
recursion by resetting icon_set->cache before freeing
the cache. (#144947, Tim Janik)
Sat Jun 26 00:40:02 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkiconfactory.c (render_icon_name_pixbuf):

View File

@ -2654,10 +2654,13 @@ static void
clear_cache (GtkIconSet *icon_set,
gboolean style_detach)
{
GSList *tmp_list;
GSList *cache, *tmp_list;
GtkStyle *last_style = NULL;
tmp_list = icon_set->cache;
cache = icon_set->cache;
icon_set->cache = NULL;
icon_set->cache_size = 0;
tmp_list = cache;
while (tmp_list != NULL)
{
CachedIcon *icon = tmp_list->data;
@ -2681,9 +2684,7 @@ clear_cache (GtkIconSet *icon_set,
tmp_list = g_slist_next (tmp_list);
}
g_slist_free (icon_set->cache);
icon_set->cache = NULL;
icon_set->cache_size = 0;
g_slist_free (cache);
}
static GSList*