Browse Source

*** empty log message ***

Joe Shochet 25 years ago
parent
commit
ec0ef9a320
1 changed files with 7 additions and 1 deletions
  1. 7 1
      direct/src/extensions/NodePath-extensions.py

+ 7 - 1
direct/src/extensions/NodePath-extensions.py

@@ -266,6 +266,12 @@
         # functor creation is defered so initial state (sampled in functorFunc)
         # will be appropriate for the time the lerp is spawned
         from TaskManagerGlobal import *
+
+        # upon death remove the functorFunc
+        def lerpUponDeath(task):
+            # Try to break circular references
+            del task.functorFunc
+            del task.lerp
         
         # make the task function
         def lerpTaskFunc(task):
@@ -283,7 +289,6 @@
             if (task.lerp.isDone()):
                 # Reset the init flag, in case the task gets re-used
                 task.init = 1
-		del task.functorFunc
                 return(Task.done)
             else:
                 return(Task.cont)
@@ -294,6 +299,7 @@
         lerpTask.functorFunc = functorFunc
         lerpTask.duration = duration
         lerpTask.blendType = self.__getBlend(blendType)
+        lerpTask.uponDeath = lerpUponDeath
         
         if (taskName == None):
             # don't spawn a task, return one instead