summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtktreemodelsort.c10
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;