Blame bugs/open/000008.txt

Chris Moore f63260
Subject: Node::remove_child() is called carelessly
Chris Moore f63260
Chris Moore f63260
A couple of recent bugs have been caused by remove_child() removing a
Chris Moore f63260
node from the parent_set when it shouldn't have, due to a sibling
Chris Moore f63260
using the same node.  One case was with two layer parameters linked to
Chris Moore f63260
each other, and the other was two sub-parameters of the Switch
Chris Moore f63260
valuenode being linked to each other.
Chris Moore f63260
Chris Moore f63260
This same type of bug seems to be present in other places too, and
Chris Moore f63260
should be killed.
Chris Moore f63260
Chris Moore f63260
------------------------------------------------------------------------
Chris Moore f63260
Chris Moore d01e47
The two fixed bugs were:
Chris Moore d01e47
Chris Moore d01e47
2353284: If two parameters in the same layer are connected to the same
Chris Moore d01e47
r2291	 valuenode and we disconnect one of them, the parent-child
Chris Moore d01e47
	 relationship for the remaining connection was being deleted.
Chris Moore d01e47
	 Now we search the parameter list to see if another parameter
Chris Moore d01e47
	 uses the same valuenode.
Chris Moore d01e47
Chris Moore d01e47
2412072: Don't remove a node from the parent set of a linkable
Chris Moore 844dce
r2311	 valuenode when replacing a link if the link is still in use
Chris Moore d01e47
	 by one of the sibling links.