Browse Source

gets rid of a race condition potentially on the ai

Zachary Pavlov 19 years ago
parent
commit
dbb484fff5
1 changed files with 2 additions and 4 deletions
  1. 2 4
      direct/src/distributed/DistributedCartesianGridAI.py

+ 2 - 4
direct/src/distributed/DistributedCartesianGridAI.py

@@ -92,19 +92,17 @@ class DistributedCartesianGridAI(DistributedNodeAI, CartesianGridBase):
     def updateGridTask(self, task=None):
         # Run through all grid objects and update their parents if needed
         missingObjs = []
-        for avId in self.gridObjects:
+        for avId in self.gridObjects.keys():
             av = self.gridObjects[avId]
             # handle a missing object after it is already gone?
             if (av.isEmpty()):
-                missingObjs.append(avId)
+                del self.gridObjects[avId]
                 continue
             pos = av.getPos()
             if ((pos[0] < 0 or pos[1] < 0) or
                 (pos[0] > self.cellWidth or pos[1] > self.cellWidth)):
                 # we are out of the bounds of this current cell
                 self.handleAvatarZoneChange(av)
-        for currMissingObj in missingObjs:
-            del self.gridObjects[avId]
         # Do this every second, not every frame
         if (task):
             task.delayTime = 1.0