forked from AuroraMiddleware/gtk
rbtree: Add _gtk_rbtree_contains()
It's useful in a bunch of places, so split it out
This commit is contained in:
parent
89c90ed193
commit
710a8435cc
@ -880,6 +880,31 @@ _gtk_rbtree_reorder (GtkRBTree *tree,
|
||||
g_free (nodes);
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_rbtree_contains:
|
||||
* @tree: a tree
|
||||
* @potential_child: a potential child of @tree
|
||||
*
|
||||
* Checks if @potential_child is a child (direct or via intermediate
|
||||
* trees) of @tree.
|
||||
*
|
||||
* Returns: %TRUE if @potentitial_child is a child of @tree.
|
||||
**/
|
||||
gboolean
|
||||
_gtk_rbtree_contains (GtkRBTree *tree,
|
||||
GtkRBTree *potential_child)
|
||||
{
|
||||
g_return_val_if_fail (tree != NULL, FALSE);
|
||||
g_return_val_if_fail (potential_child != NULL, FALSE);
|
||||
|
||||
do {
|
||||
potential_child = potential_child->parent_tree;
|
||||
if (potential_child == tree)
|
||||
return TRUE;
|
||||
} while (potential_child != NULL);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gint
|
||||
_gtk_rbtree_node_find_offset (GtkRBTree *tree,
|
||||
|
@ -117,6 +117,8 @@ gboolean _gtk_rbtree_is_nil (GtkRBNode *node);
|
||||
void _gtk_rbtree_reorder (GtkRBTree *tree,
|
||||
gint *new_order,
|
||||
gint length);
|
||||
gboolean _gtk_rbtree_contains (GtkRBTree *tree,
|
||||
GtkRBTree *potential_child);
|
||||
GtkRBNode *_gtk_rbtree_find_count (GtkRBTree *tree,
|
||||
gint count);
|
||||
void _gtk_rbtree_node_set_height (GtkRBTree *tree,
|
||||
|
Loading…
Reference in New Issue
Block a user