diff options
Diffstat (limited to 'grc/core/FlowGraph.py')
-rw-r--r-- | grc/core/FlowGraph.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/grc/core/FlowGraph.py b/grc/core/FlowGraph.py index aa9b1e4c61..ad42371bb8 100644 --- a/grc/core/FlowGraph.py +++ b/grc/core/FlowGraph.py @@ -227,6 +227,10 @@ class FlowGraph(Element): def renew_namespace(self): namespace = {} + # Before renewing the namespace, clear it + # to get rid of entries of blocks that + # are no longer valid ( deleted, disabled, ...) + self.namespace.clear() # Load imports for expr in self.imports(): try: @@ -262,6 +266,9 @@ class FlowGraph(Element): pass namespace.update(np) # Merge param namespace + # We need the updated namespace to evaluate the variable blocks + # otherwise sometimes variable_block rewrite / eval fails + self.namespace.update(namespace) # Load variables for variable_block in self.get_variables(): try: @@ -275,9 +282,7 @@ class FlowGraph(Element): log.exception('Failed to evaluate variable block {0}'.format(variable_block.name), exc_info=True) pass - self.namespace.clear() self._eval_cache.clear() - self.namespace.update(namespace) def evaluate(self, expr, namespace=None, local_namespace=None): """ |