summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2008-06-08 12:53:19 +0000
committerKristian Rietveld <kristian@src.gnome.org>2008-06-08 12:53:19 +0000
commitcd4a1fc680beda5c7de7b245404f7ed2f70fe3bc (patch)
tree96845567c0178d7e74bc5ccfbbca89bc4e395dac
parent898fe0c82f0396cb6c74d85252dd594552933596 (diff)
downloadgdk-pixbuf-cd4a1fc680beda5c7de7b245404f7ed2f70fe3bc.tar.gz
Bug 536730 - memory corruption in gtktreeview
2008-06-08 Kristian Rietveld <kris@gtk.org> Bug 536730 - memory corruption in gtktreeview * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): first remove the expand/collapse timeout and node, then free the rbtree. svn path=/trunk/; revision=20334
-rw-r--r--ChangeLog7
-rw-r--r--gtk/gtktreeview.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c9ace143..1d1bee324 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2008-06-08 Kristian Rietveld <kris@gtk.org>
+ Bug 536730 - memory corruption in gtktreeview
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): first
+ remove the expand/collapse timeout and node, then free the rbtree.
+
+2008-06-08 Kristian Rietveld <kris@gtk.org>
+
Bug 488119 - critical warnings from gtk_tree_view_get_visible_range
* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): only try to
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 1a0148283..dc952963e 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -12217,6 +12217,8 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
gtk_tree_path_free (lsc);
}
+ remove_expand_collapse_timeout (tree_view);
+
if (gtk_tree_view_unref_and_check_selection_tree (tree_view, node->children))
{
_gtk_rbtree_remove (node->children);
@@ -12224,8 +12226,6 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
}
else
_gtk_rbtree_remove (node->children);
-
- remove_expand_collapse_timeout (tree_view);
if (animate)
add_expand_collapse_timeout (tree_view, tree, node, FALSE);