diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 20f09ef48d..704702cb97 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -9622,13 +9622,13 @@ gtk_tree_view_build_tree (GtkTreeView *tree_view, else gtk_tree_path_next (path); - if (gtk_tree_model_iter_children (tree_view->priv->model, &child, iter)) + if (gtk_tree_model_iter_has_child (tree_view->priv->model, iter)) { gboolean expand; 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) + if (gtk_tree_model_iter_children (tree_view->priv->model, &child, iter) && !expand) { temp->children = _gtk_rbtree_new ();