Browse Source

Fixed task name generation for SubframeCall for my prevously added cleanup code.

Justin Butler 18 years ago
parent
commit
96d5b27bb7
1 changed files with 7 additions and 4 deletions
  1. 7 4
      direct/src/showbase/PythonUtil.py

+ 7 - 4
direct/src/showbase/PythonUtil.py

@@ -2498,18 +2498,21 @@ class SubframeCall:
     def __init__(self, functor, taskPriority, name=None):
     def __init__(self, functor, taskPriority, name=None):
         self._functor = functor
         self._functor = functor
         self._name = name
         self._name = name
+        self._taskName = uniqueName('SubframeCall-%s' % self._name)
         taskMgr.add(self._doCallback,
         taskMgr.add(self._doCallback,
-                    uniqueName('SubframeCall-%s' % self._name),
+                    self._taskName,
                     priority=taskPriority)
                     priority=taskPriority)
     def _doCallback(self, task):
     def _doCallback(self, task):
         functor = self._functor
         functor = self._functor
         del self._functor
         del self._functor
         functor()
         functor()
-        self._name = None
+        del self._name
+        self._taskName = None
         return task.done
         return task.done
     def cleanup(self):
     def cleanup(self):
-        if (self._name):
-            taskMgr.remove(uniqueName('SubframeCall-%s' % self._name))
+        if (self._taskName):
+            taskMgr.remove(self._taskName)
+            self._taskName = None
 
 
 class ArgumentEater:
 class ArgumentEater:
     def __init__(self, numToEat, func):
     def __init__(self, numToEat, func):