prevent parentMgr crashes

This commit is contained in:
Darren Ranalli 2010-01-21 02:29:04 +00:00
parent 27ab160e8f
commit dbc4e3edf4
2 changed files with 7 additions and 2 deletions

View File

@ -106,7 +106,8 @@ class DistributedNode(DistributedObject.DistributedObject, NodePath):
justGotRequiredParentAsStr = ((not self.isGenerated()) and justGotRequiredParentAsStr = ((not self.isGenerated()) and
self.gotStringParentToken) self.gotStringParentToken)
if not justGotRequiredParentAsStr: if not justGotRequiredParentAsStr:
self.do_setParent(parentToken) if parentToken != 0:
self.do_setParent(parentToken)
self.gotStringParentToken = 0 self.gotStringParentToken = 0
def do_setParent(self, parentToken): def do_setParent(self, parentToken):

View File

@ -66,7 +66,11 @@ class DistributedNodeAI(DistributedObjectAI.DistributedObjectAI, NodePath):
def setParent(self, parentToken): def setParent(self, parentToken):
self.notify.debug('setParent(%s): %s' % (self.doId, 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): def do_setParent(self, parentToken):
self.getParentMgr().requestReparent(self, parentToken) self.getParentMgr().requestReparent(self, parentToken)