diff options
author | David Robillard <d@drobilla.net> | 2012-08-14 22:48:58 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-08-14 22:48:58 +0000 |
commit | 68c2d72ba4e2208ff926461bb6faccfbadcf2a61 (patch) | |
tree | ebda7b74b59165a7732293aad53228952e0b9e72 /src/server/JackDriver.cpp | |
parent | 76b602f1f834cb2c255848c5ba887b3d7c47171a (diff) | |
download | ingen-68c2d72ba4e2208ff926461bb6faccfbadcf2a61.tar.gz ingen-68c2d72ba4e2208ff926461bb6faccfbadcf2a61.tar.bz2 ingen-68c2d72ba4e2208ff926461bb6faccfbadcf2a61.zip |
Don't look up system ports by path in the audio thread.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4697 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/JackDriver.cpp')
-rw-r--r-- | src/server/JackDriver.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/server/JackDriver.cpp b/src/server/JackDriver.cpp index e24bc13a..372feaa6 100644 --- a/src/server/JackDriver.cpp +++ b/src/server/JackDriver.cpp @@ -327,20 +327,15 @@ JackDriver::add_port(ProcessContext& context, EnginePort* port) * It is the callers responsibility to delete the returned port. */ Raul::Deletable* -JackDriver::remove_port(ProcessContext& context, - const Raul::Path& path, - EnginePort** port) +JackDriver::remove_port(ProcessContext& context, + EnginePort* port) { for (Raul::List<JackPort*>::iterator i = _ports.begin(); i != _ports.end(); ++i) { - if ((*i)->patch_port()->path() == path) { - Raul::List<JackPort*>::Node* node = _ports.erase(i); - if (port) - *port = node->elem(); - return node; + if (*i == port) { + return _ports.erase(i); } } - LOG(Raul::warn)(Raul::fmt("Unable to find port %1%\n") % path.c_str()); return NULL; } |