summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2017-01-18 21:29:48 +0100
committerSebastian Koslowski <koslowski@kit.edu>2017-01-19 09:14:43 +0100
commit6a3fb6e1432ec3e0e68f11572a62e112436af1dc (patch)
tree40646f3f2a90ec782685c3a6c31dcbc6baeb671f
parentd68a9d528210dfdf9ce5ead955cdfbb0a4ede32c (diff)
grc: show detected virtual connection loops as errors in GUI"
-rw-r--r--grc/core/Port.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/grc/core/Port.py b/grc/core/Port.py
index da1e016d7c..f740a69809 100644
--- a/grc/core/Port.py
+++ b/grc/core/Port.py
@@ -184,7 +184,6 @@ class Port(Element):
return not self._n['type'] or not self.get_parent().resolve_dependencies(self._n['type'])
def validate(self):
- Element.validate(self)
if self.get_type() not in self.get_types():
self.add_error_message('Type "{0}" is not a possible type.'.format(self.get_type()))
platform = self.get_parent().get_parent().get_parent()
@@ -203,10 +202,10 @@ class Port(Element):
"""
Handle the port cloning for virtual blocks.
"""
+ del self._error_messages[:]
if self.is_type_empty():
self.resolve_empty_type()
- Element.rewrite(self)
hide = self.get_parent().resolve_dependencies(self._hide).strip().lower()
self._hide_evaluated = False if hide in ('false', 'off', '0') else bool(hide)
@@ -227,6 +226,8 @@ class Port(Element):
def find_port(finder):
try:
return next((p for p in finder(self) if not p.is_type_empty()), None)
+ except LoopError as error:
+ self.add_error_message(str(error))
except (StopIteration, Exception) as error:
pass