summaryrefslogtreecommitdiffstats
path: root/src/client/ClientStore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/ClientStore.cpp')
-rw-r--r--src/client/ClientStore.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp
index a3fc60aa..80f210fe 100644
--- a/src/client/ClientStore.cpp
+++ b/src/client/ClientStore.cpp
@@ -118,6 +118,15 @@ ClientStore::remove_object(const Raul::Path& path)
// Remove object from parent model if applicable
if (object->parent()) {
+ SPtr<PortModel> port = dynamic_ptr_cast<PortModel>(top->second);
+ SPtr<GraphModel> gpparent = dynamic_ptr_cast<GraphModel>(
+ object->parent()->parent());
+ if (port && gpparent) {
+ /* Port on a block in a graph (probably on a subgraph),
+ remove any connections in the parent's parent graph. */
+ gpparent->remove_arcs_on(port);
+ }
+
object->parent()->remove_child(object);
}
}