diff --git a/ChangeLog b/ChangeLog index 4cbf0ab38b..273edbf098 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-08-16 Kristian Rietveld + + * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child): + update the refs from children to parents for all nodes, since + they may all have been moved by the insert operation. (#346800, + patch from Jonathan Matthew). + 2006-08-15 Matthias Clasen * gtk/gtkrecentfilter.c (gtk_recent_filter_filter): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4cbf0ab38b..273edbf098 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2006-08-16 Kristian Rietveld + + * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child): + update the refs from children to parents for all nodes, since + they may all have been moved by the insert operation. (#346800, + patch from Jonathan Matthew). + 2006-08-15 Matthias Clasen * gtk/gtkrecentfilter.c (gtk_recent_filter_filter): diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c index 4349004c50..6f0b16317d 100644 --- a/gtk/gtktreemodelfilter.c +++ b/gtk/gtktreemodelfilter.c @@ -927,10 +927,7 @@ gtk_tree_model_filter_fetch_child (GtkTreeModelFilter *filter, g_array_insert_val (level->array, i, elt); *index = i; - if (i > 0) - i--; - - for ( ; i < level->array->len; i++) + for (i = 0; i < level->array->len; i++) { FilterElt *e = &(g_array_index (level->array, FilterElt, i)); if (e->children)