--- gtk+-2.6.4/gtk/gtkrbtree.c 2004-10-28 18:00:04.000000000 +0300 +++ gtk+-2.6.4/gtk/gtkrbtree.c 2005-04-06 16:19:37.812789944 +0300 @@ -1378,18 +1378,18 @@ g_return_val_if_fail (node != NULL, NULL); /* Case 1: the node's below us. */ - if (node->right != tree->nil) + if (node && node->right != tree->nil) { node = node->right; - while (node->left != tree->nil) + while (node && node->left != tree->nil) node = node->left; return node; } /* Case 2: it's an ancestor */ - while (node->parent != tree->nil) + while (node && node->parent != tree->nil) { - if (node->parent->right == node) + if (node->parent && node->parent->right == node) node = node->parent; else return (node->parent); @@ -1407,18 +1407,18 @@ g_return_val_if_fail (node != NULL, NULL); /* Case 1: the node's below us. */ - if (node->left != tree->nil) + if (node != NULL && node->left != tree->nil) { node = node->left; - while (node->right != tree->nil) + while (node != NULL && node->right != tree->nil) node = node->right; return node; } /* Case 2: it's an ancestor */ - while (node->parent != tree->nil) + while (node != NULL && node->parent != tree->nil) { - if (node->parent->left == node) + if (node->parent && node->parent->left == node) node = node->parent; else return (node->parent);