]> Pileus Git - ~andy/gtk/commitdiff
add _gtk_rbtree_mark_invalid (my previous commit already needed this ...)
authorKristian Rietveld <kris@gtk.org>
Sun, 27 Jan 2002 22:21:27 +0000 (22:21 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Sun, 27 Jan 2002 22:21:27 +0000 (22:21 +0000)
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 ... :)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkrbtree.c
gtk/gtkrbtree.h

index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 1b6796a30901c7f9c31d0159d39c7cdc2e8d5bb9..c689a7eec7bf5c6f4256bde0031e2b8ee082eea0 100644 (file)
@@ -1,3 +1,8 @@
+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 ...)
+
 Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>
 
        Fix for bug #69586
index 5739e59a82b71681a7a724ba3f68c2ee4bea5b2b..0170f2cff19b69c857bc70b1bf315255f9a2f7a4 100644 (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;
index 04c5b0d925f962f34e368f2f44b2bb2e5407709f..f3c585b8527a68c9a449171bec8b35ed2d63d397 100644 (file)
@@ -139,6 +139,7 @@ void       _gtk_rbtree_node_mark_invalid(GtkRBTree              *tree,
 void       _gtk_rbtree_node_mark_valid  (GtkRBTree              *tree,
                                         GtkRBNode              *node);
 void       _gtk_rbtree_column_invalid   (GtkRBTree              *tree);
+void       _gtk_rbtree_mark_invalid     (GtkRBTree              *tree);
 gint       _gtk_rbtree_node_find_offset (GtkRBTree              *tree,
                                         GtkRBNode              *node);
 gint       _gtk_rbtree_node_find_parity (GtkRBTree              *tree,