add _gtk_rbtree_mark_invalid (my previous commit already needed this ...)

Sun Jan 27 23:23:23  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_mark_invalid (my previous
        commit already needed this ...)

(/me broke the build for the first time ... :)
This commit is contained in:
Kristian Rietveld
2002-01-27 22:21:27 +00:00
committed by Kristian Rietveld
parent ad219f2e3a
commit 2d0eb8a588
9 changed files with 60 additions and 0 deletions

View File

@ -853,6 +853,30 @@ _gtk_rbtree_column_invalid (GtkRBTree *tree)
while ((node = _gtk_rbtree_next (tree, node)) != NULL);
}
void
_gtk_rbtree_mark_invalid (GtkRBTree *tree)
{
GtkRBNode *node;
if (tree == NULL)
return;
node = tree->root;
g_assert (node);
while (node->left != tree->nil)
node = node->left;
do
{
GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_INVALID);
GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_DESCENDANTS_INVALID);
if (node->children)
_gtk_rbtree_mark_invalid (node->children);
}
while ((node = _gtk_rbtree_next (tree, node)) != NULL);
}
typedef struct _GtkRBReorder
{
GtkRBTree *children;