summaryrefslogtreecommitdiff
path: root/grc/base/Port.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/base/Port.py')
-rw-r--r--grc/base/Port.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/grc/base/Port.py b/grc/base/Port.py
index f8a9a6d123..b393ba9600 100644
--- a/grc/base/Port.py
+++ b/grc/base/Port.py
@@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
from Element import Element
-from . Constants import DEFAULT_DOMAIN
+from . Constants import GR_STREAM_DOMAIN, GR_MESSAGE_DOMAIN
class Port(Element):
@@ -37,7 +37,7 @@ class Port(Element):
self._name = n['name']
self._key = n['key']
self._type = n['type']
- self._domain = n.find('domain') or DEFAULT_DOMAIN
+ self._domain = n['domain']
self._hide = n.find('hide') or ''
self._dir = dir
self._type_evaluated = None # updated on rewrite()
@@ -61,6 +61,11 @@ class Port(Element):
self._type_evaluated = self.get_parent().resolve_dependencies(self._type)
hide = self.get_parent().resolve_dependencies(self._hide).strip().lower()
self._hide_evaluated = False if hide in ('false', 'off', '0') else bool(hide)
+ # update domain if was deduced from (dynamic) port type
+ if self._domain == GR_STREAM_DOMAIN and self._type_evaluated == "message":
+ self._domain = GR_MESSAGE_DOMAIN
+ if self._domain == GR_MESSAGE_DOMAIN and self._type_evaluated != "message":
+ self._domain = GR_STREAM_DOMAIN
def __str__(self):
if self.is_source():