From 522f76df63657baa81cc2bedc7cc2c37679624ff Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 18 Sep 2007 02:10:46 +0000 Subject: Fix destroying connected patch ports, and patch port threading issues. git-svn-id: http://svn.drobilla.net/lad/ingen@718 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/events/DisconnectPortEvent.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/libs/engine/events/DisconnectPortEvent.cpp') diff --git a/src/libs/engine/events/DisconnectPortEvent.cpp b/src/libs/engine/events/DisconnectPortEvent.cpp index 75f44e9f..6aa5a265 100644 --- a/src/libs/engine/events/DisconnectPortEvent.cpp +++ b/src/libs/engine/events/DisconnectPortEvent.cpp @@ -51,10 +51,10 @@ DisconnectPortEvent::DisconnectPortEvent(Engine& engine, SharedPtr re } -DisconnectPortEvent::DisconnectPortEvent(Engine& engine, Port* port) +DisconnectPortEvent::DisconnectPortEvent(Engine& engine, Patch* patch, Port* port) : QueuedEvent(engine), _port_path(port->path()), - _patch((port->parent_node() == NULL) ? NULL : port->parent_node()->parent_patch()), + _patch(patch), _port(port), _process_order(NULL), _succeeded(true), @@ -77,6 +77,9 @@ DisconnectPortEvent::pre_process() // cerr << "Preparing disconnection event...\n"; if (_lookup) { + + /* FIXME: Double lookup */ + _patch = _engine.object_store()->find_patch(_port_path.parent().parent()); if (_patch == NULL) { -- cgit v1.2.1