From: Jonathan Blandford Date: Tue, 12 Mar 2002 04:48:50 +0000 (+0000) Subject: fix totally broken foreach function. X-Git-Url: http://pileus.org/git/?p=~andy%2Fgtk;a=commitdiff_plain;h=5c02002e2cdf6fcccecb9ac0bab75e43fe65e814 fix totally broken foreach function. Mon Mar 11 23:42:11 2002 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken foreach function. --- diff --git a/ChangeLog b/ChangeLog index a70fdc41c..2285ccf53 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index a70fdc41c..2285ccf53 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Mon Mar 11 23:42:11 2002 Jonathan Blandford + + * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken + foreach function. + 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document diff --git a/gtk/gtktreemodel.c b/gtk/gtktreemodel.c index cb3142236..94c763a20 100644 --- a/gtk/gtktreemodel.c +++ b/gtk/gtktreemodel.c @@ -1171,26 +1171,25 @@ gtk_tree_model_foreach_helper (GtkTreeModel *model, GtkTreeModelForeachFunc func, gpointer user_data) { - gtk_tree_path_append_index (path, 0); - do { GtkTreeIter child; + if ((* func) (model, path, iter, user_data)) + return TRUE; + if (gtk_tree_model_iter_children (model, &child, iter)) { + gtk_tree_path_down (path); if (gtk_tree_model_foreach_helper (model, &child, path, func, user_data)) return TRUE; + gtk_tree_path_up (path); } - if ((* func) (model, path, iter, user_data)) - return TRUE; - gtk_tree_path_next (path); } while (gtk_tree_model_iter_next (model, iter)); - gtk_tree_path_up (path); return FALSE; }