summaryrefslogtreecommitdiff
path: root/gtk/gtktreestore.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2002-11-20 18:15:28 +0000
committerKristian Rietveld <kristian@src.gnome.org>2002-11-20 18:15:28 +0000
commit83e9cd53209b4d0636d01920afbb48458ef75739 (patch)
treebf8fa01d26fe8f313a3b34767586d7a4d39e3989 /gtk/gtktreestore.c
parentbc035915e9406896c83a7cd6a132eb722229a876 (diff)
downloadgdk-pixbuf-83e9cd53209b4d0636d01920afbb48458ef75739.tar.gz
return a value in the range of [-1, 1] instead [0, 1],
Wed Nov 20 19:29:50 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtkrbtree.c (gtk_rbtree_reorder_sort_func): return a value in the range of [-1, 1] instead [0, 1], (gtk_rbtree_reorder_invert_func): ditto, This makes treeview reordering working on platforms as FreeBSD and solaris, thanks go to Heiner Eichmann for finding this out and sending in a patch (#98251). Wed Nov 20 19:27:07 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreestore.c (node_free): only free the data list if node->data is not NULL, (gtk_tree_store_remove): free the data list from the node if needed. (#94728, pointed out by Peter Bloomfield). Wed Nov 20 19:23:13 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_remove_column): stop editing and set the edited_column to NULL if edited_column is set. (#91288, modified patch from Josh Parsons). Wed Nov 20 19:20:34 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do a full redraw if vadjustment->value is bigger than tree_view->priv->height, (gtk_tree_view_row_deleted): free the row ref if it isn't valid anymore. (#83726, reported by Robert Kinsella).
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r--gtk/gtktreestore.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index a3f56cd64..d2bc74246 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -444,7 +444,10 @@ gtk_tree_store_set_column_type (GtkTreeStore *tree_store,
static gboolean
node_free (GNode *node, gpointer data)
{
- _gtk_tree_data_list_free (node->data, (GType*)data);
+ if (node->data)
+ _gtk_tree_data_list_free (node->data, (GType*)data);
+ node->data = NULL;
+
return FALSE;
}
@@ -1065,8 +1068,8 @@ gtk_tree_store_remove (GtkTreeStore *tree_store,
next_node = G_NODE (iter->user_data)->next;
if (G_NODE (iter->user_data)->data)
- _gtk_tree_data_list_free ((GtkTreeDataList *) G_NODE (iter->user_data)->data,
- tree_store->column_headers);
+ g_node_traverse (G_NODE (iter->user_data), G_POST_ORDER, G_TRAVERSE_ALL,
+ -1, node_free, tree_store->column_headers);
path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter);
g_node_destroy (G_NODE (iter->user_data));