diff options
author | David Robillard <d@drobilla.net> | 2008-08-14 04:24:10 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-14 04:24:10 +0000 |
commit | d09cfd0f5e6a1290ed5e90959f633b3c2d3e9386 (patch) | |
tree | 9fa2faeaf3d011f7f9d51ad3e97c5a5e71a3c286 /src/libs/client | |
parent | 7793ef294616e522d13bb1706c2139411f91a6f4 (diff) | |
download | ingen-d09cfd0f5e6a1290ed5e90959f633b3c2d3e9386.tar.gz ingen-d09cfd0f5e6a1290ed5e90959f633b3c2d3e9386.tar.bz2 ingen-d09cfd0f5e6a1290ed5e90959f633b3c2d3e9386.zip |
Fix deadlock.
git-svn-id: http://svn.drobilla.net/lad/ingen@1369 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client')
-rw-r--r-- | src/libs/client/PluginModel.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/client/PluginModel.cpp b/src/libs/client/PluginModel.cpp index db62b3bf..aaf6b4b5 100644 --- a/src/libs/client/PluginModel.cpp +++ b/src/libs/client/PluginModel.cpp @@ -59,18 +59,19 @@ PluginModel::ui(Ingen::Shared::World* world, SharedPtr<NodeModel> node) const const string& PluginModel::icon_path() const { - if (_icon_path == "" && _type == LV2) + if (_icon_path == "" && _type == LV2) { + Glib::Mutex::Lock lock(_rdf_world->mutex()); _icon_path = get_lv2_icon_path(_slv2_plugin); + } return _icon_path; } +/** RDF world mutex must be held by the caller */ string PluginModel::get_lv2_icon_path(SLV2Plugin plugin) { - Glib::Mutex::Lock lock(_rdf_world->mutex()); - string result; SLV2Value svg_icon_pred = slv2_value_new_uri(_slv2_world, "http://ll-plugins.nongnu.org/lv2/namespace#svgIcon"); |