diff --git a/direct/src/distributed/DistributedNode.py b/direct/src/distributed/DistributedNode.py index 2772f021e7..353b001cc2 100644 --- a/direct/src/distributed/DistributedNode.py +++ b/direct/src/distributed/DistributedNode.py @@ -106,7 +106,8 @@ class DistributedNode(DistributedObject.DistributedObject, NodePath): justGotRequiredParentAsStr = ((not self.isGenerated()) and self.gotStringParentToken) if not justGotRequiredParentAsStr: - self.do_setParent(parentToken) + if parentToken != 0: + self.do_setParent(parentToken) self.gotStringParentToken = 0 def do_setParent(self, parentToken): diff --git a/direct/src/distributed/DistributedNodeAI.py b/direct/src/distributed/DistributedNodeAI.py index f8670474d5..e48fb3e70b 100644 --- a/direct/src/distributed/DistributedNodeAI.py +++ b/direct/src/distributed/DistributedNodeAI.py @@ -66,7 +66,11 @@ class DistributedNodeAI(DistributedObjectAI.DistributedObjectAI, NodePath): def setParent(self, parentToken): self.notify.debug('setParent(%s): %s' % (self.doId, parentToken)) - self.do_setParent(parentToken) + if parentToken == 0: + senderId = self.air.getAvatarIdFromSender() + self.air.writeServerEvent('suspicious', senderId, 'setParent(0)') + else: + self.do_setParent(parentToken) def do_setParent(self, parentToken): self.getParentMgr().requestReparent(self, parentToken)