瀏覽代碼

Fix empty Mantis tree execution loop

Iken-O 5 月之前
父節點
當前提交
dd57051688
共有 2 個文件被更改,包括 4 次插入 和 2 次删除
  1. 1 1
      __init__.py
  2. 3 1
      base_definitions.py

+ 1 - 1
__init__.py

@@ -266,8 +266,8 @@ def execute_handler(scene):
             # check here instead of in execute_tree because these  values can be
             #  modified at weird times and checking from the handler is more consistent
             if ( node_tree.tree_valid) and ( node_tree.do_live_update ):
-                node_tree.execute_tree(context)
                 node_tree.tree_valid=False
+                node_tree.execute_tree(context)
 
 from .versioning import versioning_tasks
 def node_version_update(node, do_once):

+ 3 - 1
base_definitions.py

@@ -140,7 +140,7 @@ class MantisTree(NodeTree):
                 self.parsed_tree = readtree.parse_tree(self, error_popups)
                 if context:
                     self.display_update(context)
-                self.tree_valid = True
+                self.tree_valid = bool(self.parsed_tree)
             except Exception as e:
                 prRed("Failed to update node tree due to error.")
                 self.tree_valid = False
@@ -171,6 +171,8 @@ class MantisTree(NodeTree):
         self.prevent_next_exec = False
         if not self.hash:
             return
+        if not self.parsed_tree:
+            return
         if self.is_exporting or self.is_executing:
             return
         prGreen("Executing Tree: %s" % self.name)