aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Toshok <toshok@helixcode.com>2000-10-16 07:46:23 +0800
committerChris Toshok <toshok@src.gnome.org>2000-10-16 07:46:23 +0800
commit40effd4a8abe04ffb7731212e72e187ef3a4f67d (patch)
treede9684e7e03fd48a40cc86d93ebfbcf2cb088edf
parent9ea0801fff03aed2d4c9c1e48b1650a1b9c0cce1 (diff)
downloadgsoc2013-evolution-40effd4a8abe04ffb7731212e72e187ef3a4f67d.tar.gz
gsoc2013-evolution-40effd4a8abe04ffb7731212e72e187ef3a4f67d.tar.zst
gsoc2013-evolution-40effd4a8abe04ffb7731212e72e187ef3a4f67d.zip
get the next child before traversing/calling func.
2000-10-15 Chris Toshok <toshok@helixcode.com> * e-tree-model.c (e_tree_model_node_traverse): get the next child before traversing/calling func. svn path=/trunk/; revision=5937
-rw-r--r--widgets/table/e-tree-model.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c
index 508fe1d7c5..a508584a85 100644
--- a/widgets/table/e-tree-model.c
+++ b/widgets/table/e-tree-model.c
@@ -142,12 +142,15 @@ e_tree_path_unlink (ETreePath *path)
void
e_tree_model_node_traverse (ETreeModel *model, ETreePath *path, ETreePathFunc func, gpointer data)
{
- ETreePath *child;
+ ETreePath *child = path->first_child;
- for (child = path->first_child; child; child = child->next_sibling) {
+ while (child) {
+ ETreePath *next_child = child->next_sibling;
e_tree_model_node_traverse (model, child, func, data);
if (func (model, child, data) == TRUE)
return;
+
+ child = next_child;
}
}