diff options
author | Kristian Rietveld <kris@gtk.org> | 2002-11-20 18:15:28 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2002-11-20 18:15:28 +0000 |
commit | 83e9cd53209b4d0636d01920afbb48458ef75739 (patch) | |
tree | bf8fa01d26fe8f313a3b34767586d7a4d39e3989 /gtk/gtktreestore.c | |
parent | bc035915e9406896c83a7cd6a132eb722229a876 (diff) | |
download | gdk-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.c | 9 |
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)); |