summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/DisconnectionEvent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/engine/events/DisconnectionEvent.cpp')
-rw-r--r--src/libs/engine/events/DisconnectionEvent.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/libs/engine/events/DisconnectionEvent.cpp b/src/libs/engine/events/DisconnectionEvent.cpp
index 68068821..aa686b0c 100644
--- a/src/libs/engine/events/DisconnectionEvent.cpp
+++ b/src/libs/engine/events/DisconnectionEvent.cpp
@@ -157,20 +157,19 @@ DisconnectionEvent::execute(ProcessContext& context)
QueuedEvent::execute(context);
if (_error == NO_ERROR) {
- Raul::ListNode<ConnectionImpl*>* const port_connection
+ Patch::Connections::Node* const port_connection
= _dst_input_port->remove_connection(_src_output_port);
if (port_connection != NULL) {
- Raul::ListNode<ConnectionImpl*>* const patch_connection
+ Patch::Connections::Node* const patch_connection
= _patch->remove_connection(_src_port, _dst_port);
assert(patch_connection);
- assert((ConnectionImpl*)port_connection->elem() == patch_connection->elem());
+ assert(port_connection->elem() == patch_connection->elem());
- // Clean up both the list node and the connection itself...
+ // Destroy list node, which will drop reference to connection itself
_engine.maid()->push(port_connection);
_engine.maid()->push(patch_connection);
- _engine.maid()->push(port_connection->elem());
if (_patch->compiled_patch() != NULL)
_engine.maid()->push(_patch->compiled_patch());