summaryrefslogtreecommitdiffstats
path: root/src/libs/gui
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-20 16:23:03 +0000
committerDavid Robillard <d@drobilla.net>2007-09-20 16:23:03 +0000
commita4625db3f26716fb7a34614c76582ab92b5212e8 (patch)
tree645f6b35f06a8a7d6cad4a8d59fad9f61346d196 /src/libs/gui
parentc4a88de11f5a4c08418523a1f0fd0634b2f56857 (diff)
downloadingen-a4625db3f26716fb7a34614c76582ab92b5212e8.tar.gz
ingen-a4625db3f26716fb7a34614c76582ab92b5212e8.tar.bz2
ingen-a4625db3f26716fb7a34614c76582ab92b5212e8.zip
Fix RDF threading problems (random messy crashes on patch loading).
git-svn-id: http://svn.drobilla.net/lad/ingen@740 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui')
-rw-r--r--src/libs/gui/App.cpp2
-rw-r--r--src/libs/gui/PatchCanvas.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp
index b36c5c07..b07352d7 100644
--- a/src/libs/gui/App.cpp
+++ b/src/libs/gui/App.cpp
@@ -85,6 +85,8 @@ App::App(Ingen::Shared::World* world)
rdf_world.add_prefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#");
rdf_world.add_prefix("doap", "http://usefulinc.com/ns/doap#");
+ PluginModel::set_rdf_world(rdf_world);
+
#ifdef HAVE_SLV2
PluginModel::set_slv2_world(world->slv2_world);
#endif
diff --git a/src/libs/gui/PatchCanvas.cpp b/src/libs/gui/PatchCanvas.cpp
index dc1504ef..ee3c326e 100644
--- a/src/libs/gui/PatchCanvas.cpp
+++ b/src/libs/gui/PatchCanvas.cpp
@@ -171,6 +171,8 @@ PatchCanvas::build_plugin_class_menu(Gtk::Menu* menu,
void
PatchCanvas::build_plugin_menu()
{
+ Glib::Mutex::Lock(PluginModel::rdf_world()->mutex());
+
_menu->items().push_back(Gtk::Menu_Helpers::ImageMenuElem("Plugin",
*(manage(new Gtk::Image(Gtk::Stock::EXECUTE, Gtk::ICON_SIZE_MENU)))));
Gtk::MenuItem* plugin_menu_item = &(_menu->items().back());