Fix for problem with channelvalues not being removed on setValue.

This commit is contained in:
Jeremy Fincher 2004-08-20 16:45:48 +00:00
parent dd45f302e5
commit fac96b16dc

View File

@ -210,6 +210,9 @@ class Group(object):
oldNode = self._children[name] oldNode = self._children[name]
node._added = oldNode._added node._added = oldNode._added
node._children = oldNode._children node._children = oldNode._children
for v in node._children.values():
if v.__class__ is oldNode.X:
v.__class__ = node.X
self._children[name] = node self._children[name] = node
if name not in self._added: if name not in self._added:
self._added.append(name) self._added.append(name)
@ -221,8 +224,7 @@ class Group(object):
def unregister(self, name): def unregister(self, name):
try: try:
node = self._children[name] node = self._children.pop(name)
del self._children[name]
self._added.remove(name) self._added.remove(name)
if node._name in _cache: if node._name in _cache:
del _cache[node._name] del _cache[node._name]