summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/DisconnectPortEvent.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-18 02:10:46 +0000
committerDavid Robillard <d@drobilla.net>2007-09-18 02:10:46 +0000
commit522f76df63657baa81cc2bedc7cc2c37679624ff (patch)
treea20686ff5163459cbc0a34de9440cd9b0fd9c5fe /src/libs/engine/events/DisconnectPortEvent.cpp
parentc7c29dfbbd6b237aada410ed36d5dcaaed8efbc8 (diff)
downloadingen-522f76df63657baa81cc2bedc7cc2c37679624ff.tar.gz
ingen-522f76df63657baa81cc2bedc7cc2c37679624ff.tar.bz2
ingen-522f76df63657baa81cc2bedc7cc2c37679624ff.zip
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
Diffstat (limited to 'src/libs/engine/events/DisconnectPortEvent.cpp')
-rw-r--r--src/libs/engine/events/DisconnectPortEvent.cpp7
1 files changed, 5 insertions, 2 deletions
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<Responder> 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) {