diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtktreemodelsort.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index 50211a9a52..96d8bd6442 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -1091,6 +1091,7 @@ gtk_tree_model_sort_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeIter child_iter; SortLevel *level; SortElt *elt; @@ -1098,6 +1099,10 @@ gtk_tree_model_sort_ref_node (GtkTreeModel *tree_model, g_return_if_fail (GTK_TREE_MODEL_SORT (tree_model)->child_model != NULL); g_return_if_fail (GTK_TREE_MODEL_SORT (tree_model)->stamp == iter->stamp); + GET_CHILD_ITER (tree_model, &child_iter, iter); + + gtk_tree_model_ref_node (GTK_TREE_MODEL_SORT (tree_model)->child_model, &child_iter); + level = iter->user_data; elt = iter->user_data2; @@ -1130,6 +1135,7 @@ gtk_tree_model_sort_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeIter child_iter; SortLevel *level; SortElt *elt; @@ -1137,6 +1143,10 @@ gtk_tree_model_sort_unref_node (GtkTreeModel *tree_model, g_return_if_fail (GTK_TREE_MODEL_SORT (tree_model)->child_model != NULL); g_return_if_fail (GTK_TREE_MODEL_SORT (tree_model)->stamp == iter->stamp); + GET_CHILD_ITER (tree_model, &child_iter, iter); + + gtk_tree_model_unref_node (GTK_TREE_MODEL_SORT (tree_model)->child_model, &child_iter); + level = iter->user_data; elt = iter->user_data2; |