Proxy out to _gtk_tree_row_reference_deleted. (inserted_callback): Proxy
Tue Feb 27 19:32:53 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreemodel.c (deleted_callback): Proxy out to _gtk_tree_row_reference_deleted. (inserted_callback): Proxy out to _gtk_tree_row_reference_inserted. (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to get around signal emission ordering problem. * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all): fix to work with SINGLE (_gtk_tree_selection_internal_select_node): Major sanitization on selections. SINGLE now seems to work. * tests/Makefile.am: add testtreecolumn.c: * tests/testtreecolumn.c: New test. Mostly points out selection bugs currently, but will test columns later. * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty selection bug. I hate touching this code -- it's scary.
This commit is contained in:
committed by
Jonathan Blandford
parent
75d79abf98
commit
c82dc58f7f
@ -914,7 +914,14 @@ _gtk_rbtree_remove_node (GtkRBTree *tree,
|
||||
tree->root = x;
|
||||
|
||||
if (y != node)
|
||||
node->children = y->children;
|
||||
{
|
||||
/* Copy the node over */
|
||||
if (GTK_RBNODE_GET_COLOR (node) == GTK_RBNODE_BLACK)
|
||||
node->flags = ((y->flags & (GTK_RBNODE_NON_COLORS)) | GTK_RBNODE_BLACK);
|
||||
else
|
||||
node->flags = ((y->flags & (GTK_RBNODE_NON_COLORS)) | GTK_RBNODE_RED);
|
||||
node->children = y->children;
|
||||
}
|
||||
|
||||
if (GTK_RBNODE_GET_COLOR (y) == GTK_RBNODE_BLACK)
|
||||
_gtk_rbtree_remove_node_fixup (tree, x);
|
||||
|
||||
Reference in New Issue
Block a user