Keep the cell_list in a consistent state while iterating over it, since

Wed Mar 10 22:30:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
	cell_list in a consistent state while iterating over it, since
	clear_attributes() also iterates over it.  (#136585, Morten Welinder)
This commit is contained in:
Matthias Clasen 2004-03-10 21:28:10 +00:00 committed by Matthias Clasen
parent bd722591f1
commit ebd1f209e2
6 changed files with 34 additions and 5 deletions

View File

@ -1,3 +1,9 @@
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate

View File

@ -1,3 +1,9 @@
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate

View File

@ -1,3 +1,9 @@
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate

View File

@ -1,3 +1,9 @@
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate

View File

@ -1,3 +1,9 @@
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate

View File

@ -636,17 +636,16 @@ gtk_cell_view_cell_layout_clear (GtkCellLayout *layout)
g_return_if_fail (GTK_IS_CELL_VIEW (cellview));
for (i = cellview->priv->cell_list; i; i = i->next)
while (cellview->priv->cell_list)
{
GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)i->data;
GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)cellview->priv->cell_list->data;
gtk_cell_view_cell_layout_clear_attributes (layout, info->cell);
g_object_unref (G_OBJECT (info->cell));
g_free (info);
cellview->priv->cell_list = g_list_delete_link (cellview->priv->cell_list,
cellview->priv->cell_list);
}
g_list_free (cellview->priv->cell_list);
cellview->priv->cell_list = NULL;
}
static void