mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 16:30:41 +00:00
(removeElement:): Fix bug whereby the deleted node's parent still had
the deleted node as a right child. (Reported by Stephen Peters <SPETERS@us.oracle.com>). git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@347 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
39fbf08e75
commit
e5556679e7
1 changed files with 3 additions and 2 deletions
|
@ -496,7 +496,8 @@ static id nilBinaryTreeNode;
|
|||
else
|
||||
x = [y rightNode];
|
||||
|
||||
[x setParentNode:[y parentNode]];
|
||||
if (x != [self nilNode])
|
||||
[x setParentNode:[y parentNode]];
|
||||
|
||||
if ([y parentNode] == [self nilNode])
|
||||
_contents_root = x;
|
||||
|
@ -517,7 +518,7 @@ static id nilBinaryTreeNode;
|
|||
if (oldElement.id_u == [[oldElement.id_u parentNode] leftNode])
|
||||
[[oldElement.id_u parentNode] setLeftNode:y];
|
||||
else
|
||||
[[oldElement.id_u parentNode] setRightNode:oldElement.id_u];
|
||||
[[oldElement.id_u parentNode] setRightNode:y];
|
||||
[[oldElement.id_u leftNode] setParentNode:y];
|
||||
[[oldElement.id_u rightNode] setParentNode:y];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue