diff options
author | Havoc Pennington <hp@redhat.com> | 2001-01-09 17:45:34 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-01-09 17:45:34 +0000 |
commit | 637c61da761f10836994c47c70a80735889506d7 (patch) | |
tree | dd579c88a10faa6387f8274c285f6c4bf1bbb54e /gtk/gtkrbtree.c | |
parent | 0056107b5d34fe44572587238173eeb182a6d513 (diff) | |
download | gtk+-637c61da761f10836994c47c70a80735889506d7.tar.gz |
handle case where there are no rows in the model
2001-01-09 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
there are no rows in the model
* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
NULL, then return the start of the list
* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
if we can't get any rows from an empty model
* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
extraneous * after function pointer typedef usage
* Makefile.am: don't specify full path to cp and rm
* gtk/gtkcellrenderertextpixbuf.c
(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
NULL before dereferencing, fixes a segfault that happened from
time to time
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
and reindent the function
(gtk_cell_renderer_pixbuf_get_size): indentation
* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
we quit it
(gtk_dialog_add_buttons_valist): add g_return_if_fail
(gtk_dialog_set_default_response): New function, to set default
button
(gtk_dialog_set_response_sensitive): New function, to set
sensitivity of buttons
* gtk/gtkcellrendererpixbuf.c
(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
handle any G_TYPE_OBJECT subclass, not just the base class, and
also boxed types.
(_gtk_tree_data_list_value_to_node): ditto
* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
--gtk-debug=tree
* gtk/gtkmain.c: add GTK_DEBUG_TREE
* gtk/gtkdebug.h: add GTK_DEBUG_TREE
Diffstat (limited to 'gtk/gtkrbtree.c')
-rw-r--r-- | gtk/gtkrbtree.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c index 6afc080ecf..0cc35821ef 100644 --- a/gtk/gtkrbtree.c +++ b/gtk/gtkrbtree.c @@ -18,6 +18,7 @@ */ #include "gtkrbtree.h" +#include "gtkdebug.h" static void _gtk_rbnode_validate_allocator (GAllocator *allocator); static GtkRBNode *_gtk_rbnode_new (GtkRBTree *tree, @@ -522,6 +523,9 @@ _gtk_rbtree_insert_after (GtkRBTree *tree, } _gtk_rbtree_insert_fixup (tree, node); + if (gtk_debug_flags & GTK_DEBUG_TREE) + _gtk_rbtree_test (tree); + return node; } @@ -580,6 +584,9 @@ _gtk_rbtree_insert_before (GtkRBTree *tree, } _gtk_rbtree_insert_fixup (tree, node); + if (gtk_debug_flags & GTK_DEBUG_TREE) + _gtk_rbtree_test (tree); + return node; } @@ -765,6 +772,9 @@ _gtk_rbtree_remove_node (GtkRBTree *tree, y->left = current_allocator->free_nodes; current_allocator->free_nodes = y; G_UNLOCK (current_allocator); + + if (gtk_debug_flags & GTK_DEBUG_TREE) + _gtk_rbtree_test (tree); } GtkRBNode * |