]> Pileus Git - ~andy/gtk/commitdiff
check if the iter still has children after running the test-expand-row
authorKristian Rietveld <kris@imendio.com>
Mon, 17 Jul 2006 13:57:38 +0000 (13:57 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Mon, 17 Jul 2006 13:57:38 +0000 (13:57 +0000)
2006-07-17  Kristian Rietveld  <kris@imendio.com>

* gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
still has children after running the test-expand-row func,
(gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).

ChangeLog
ChangeLog.pre-2-10
gtk/gtktreeview.c

index 755fcd3dcfd641a91392230fb427db23878da26e..f2319ff2c57c93e23018efaea8f9bfd58ac07333 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-07-17  Kristian Rietveld  <kris@imendio.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
+       still has children after running the test-expand-row func,
+       (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).
+
 2006-07-17  Michael Natterer  <mitch@imendio.com>
 
        * gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat,
index 755fcd3dcfd641a91392230fb427db23878da26e..f2319ff2c57c93e23018efaea8f9bfd58ac07333 100644 (file)
@@ -1,3 +1,9 @@
+2006-07-17  Kristian Rietveld  <kris@imendio.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
+       still has children after running the test-expand-row func,
+       (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).
+
 2006-07-17  Michael Natterer  <mitch@imendio.com>
 
        * gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat,
index 6eb50303d9fd1af28924b062ef6def15461e0196..17fda0b48994ff202f2a9a2e572cd8ce6dbc4d7c 100644 (file)
@@ -8635,7 +8635,8 @@ gtk_tree_view_build_tree (GtkTreeView *tree_view,
 
              g_signal_emit (tree_view, tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand);
 
-             if (!expand)
+             if (gtk_tree_model_iter_has_child (tree_view->priv->model, iter)
+                 && !expand)
                {
                  temp->children = _gtk_rbtree_new ();
                  temp->children->parent_tree = tree;
@@ -11727,6 +11728,9 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view,
 
   g_signal_emit (tree_view, tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand);
 
+  if (!gtk_tree_model_iter_has_child (tree_view->priv->model, &iter))
+    return FALSE;
+
   if (expand)
     return FALSE;