From e49e5350677f62a63849a3d8b95c921f168343b5 Mon Sep 17 00:00:00 2001 From: Darren Ranalli Date: Tue, 7 Sep 2004 23:34:47 +0000 Subject: [PATCH] added detection of unrequested deletes --- direct/src/distributed/DistributedObjectAI.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/direct/src/distributed/DistributedObjectAI.py b/direct/src/distributed/DistributedObjectAI.py index 5fa43da432..dd8cab3110 100644 --- a/direct/src/distributed/DistributedObjectAI.py +++ b/direct/src/distributed/DistributedObjectAI.py @@ -31,6 +31,8 @@ class DistributedObjectAI(DirectObject.DirectObject): # here. self.lastNonQuietZone = None + self._DOAI_requestedDelete = False + # These are used to implement beginBarrier(). self.__nextBarrierContext = 0 self.__barriers = {} @@ -65,6 +67,12 @@ class DistributedObjectAI(DirectObject.DirectObject): # self.doId may not exist. The __dict__ syntax works around that. assert(self.notify.debug('delete(): %s' % (self.__dict__.get("doId")))) + if not self._DOAI_requestedDelete: + self.notify.warning( + 'delete() called but requestDelete never called for %s: %s' + % (self.__dict__.get('doId'), self.__class__.__name__)) + self._DOAI_requestedDelete = False + # Clean up all the pending barriers. for barrier in self.__barriers.values(): barrier.cleanup() @@ -237,7 +245,8 @@ class DistributedObjectAI(DirectObject.DirectObject): self.notify.warning("Tried to delete a %s (doId %s) that is already deleted" % (self.__class__, doId)) return self.air.requestDelete(self) - + self._DOAI_requestedDelete = True + def taskName(self, taskString): return (taskString + "-" + str(self.getDoId()))