summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grc/core/generator/cpp_hier_block.py3
-rw-r--r--grc/core/generator/hier_block.py4
2 files changed, 7 insertions, 0 deletions
diff --git a/grc/core/generator/cpp_hier_block.py b/grc/core/generator/cpp_hier_block.py
index c4d98e854b..5a17854226 100644
--- a/grc/core/generator/cpp_hier_block.py
+++ b/grc/core/generator/cpp_hier_block.py
@@ -124,6 +124,9 @@ class CppHierBlockGenerator(CppTopBlockGenerator):
)
else:
t['make'] = '{cls}()'.format(cls=block_id)
+ # Self-connect if there aren't any ports
+ if not data['inputs'] and not data['outputs']:
+ t['make'] += '\nthis->connect(this->${id});'
# Callback data
t['callbacks'] = [
diff --git a/grc/core/generator/hier_block.py b/grc/core/generator/hier_block.py
index b56ed223c0..9c80271235 100644
--- a/grc/core/generator/hier_block.py
+++ b/grc/core/generator/hier_block.py
@@ -117,6 +117,10 @@ class HierBlockGenerator(TopBlockGenerator):
)
else:
t['make'] = '{cls}()'.format(cls=block_id)
+ # Self-connect if there aren't any ports
+ if not data['inputs'] and not data['outputs']:
+ t['make'] += '\nself.connect(self.${id})'
+
# Callback data
t['callbacks'] = [
'set_{key}(${{ {key} }})'.format(key=param_block.name) for param_block in parameters