From 88eb8e874c7af57b4e53eea04acb13317752e28c Mon Sep 17 00:00:00 2001
From: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
Date: Wed, 24 Jul 2019 11:57:52 +0200
Subject: Fix KeyError 'value' in variable blocks

Variable blocks must not have a param named value.  But grc always trys to evaluate this params.
This leads to errors
---
 grc/gui/VariableEditor.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'grc/gui/VariableEditor.py')

diff --git a/grc/gui/VariableEditor.py b/grc/gui/VariableEditor.py
index d9c829ebcc..f680a2dc18 100644
--- a/grc/gui/VariableEditor.py
+++ b/grc/gui/VariableEditor.py
@@ -192,8 +192,19 @@ class VariableEditor(Gtk.VBox):
             else:
                 # Evaluate and show the value (if it is a variable)
                 if block.is_variable:
-                    evaluated = str(block.params['value'].evaluate())
-                    self.set_tooltip_text(evaluated)
+                    # Evaluate the params
+                    for key in block.params :
+                        evaluated = str(block.params[key].evaluate())
+                        self.set_tooltip_text(evaluated)
+
+                    # Evaluate the block value
+                    try:
+                        evaluated = str( eval(block.value,block.parent.namespace,block.namespace))
+                        self.set_tooltip_text(evaluated)
+                    except Exception as error:
+                        self.set_tooltip_text(str(error))
+                        pass
+
         # Always set the text value.
         sp('text', value)
 
-- 
cgit v1.2.3