diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2017-01-18 21:29:48 +0100 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2017-01-19 09:14:43 +0100 |
commit | 6a3fb6e1432ec3e0e68f11572a62e112436af1dc (patch) | |
tree | 40646f3f2a90ec782685c3a6c31dcbc6baeb671f | |
parent | d68a9d528210dfdf9ce5ead955cdfbb0a4ede32c (diff) |
grc: show detected virtual connection loops as errors in GUI"
-rw-r--r-- | grc/core/Port.py | 5 |
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 |