Browse Source

Fix bug reported by clcheung

rdb 16 years ago
parent
commit
e6202122ba
1 changed files with 6 additions and 1 deletions
  1. 6 1
      direct/src/filter/CommonFilters.py

+ 6 - 1
direct/src/filter/CommonFilters.py

@@ -50,8 +50,8 @@ class CommonFilters:
     def __init__(self, win, cam):
         self.manager = FilterManager(win, cam)
         self.configuration = {}
+        self.task = None
         self.cleanup()
-        self.task = taskMgr.add(self.update, "common-filters-update")
 
     def loadShader(self, name):
         fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), name)
@@ -65,6 +65,9 @@ class CommonFilters:
         self.finalQuad = None
         self.bloom = []
         self.blur = []
+        if self.task != None:
+          taskMgr.remove(self.task)
+          self.task = None
 
     def reconfigure(self, fullrebuild, changed):
 
@@ -230,6 +233,8 @@ class CommonFilters:
             self.finalQuad.setShader(Shader.make(text))
             for tex in self.textures:
                 self.finalQuad.setShaderInput("tx"+tex, self.textures[tex])
+            
+            self.task = taskMgr.add(self.update, "common-filters-update")
         
         if (changed == "CartoonInk") or fullrebuild:
             if (configuration.has_key("CartoonInk")):