summaryrefslogtreecommitdiffstats
path: root/src/gui/GraphCanvas.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-05-23 03:20:40 +0000
committerDavid Robillard <d@drobilla.net>2015-05-23 03:20:40 +0000
commitdc5c579778d8b7b6f113c48d202f89c172abd591 (patch)
tree7a3a24f7acfab09c652ca466a46099766c8a02d3 /src/gui/GraphCanvas.cpp
parent63d4ffa098e016a9680b4b1b1f209ab3bb3dbd8c (diff)
downloadingen-dc5c579778d8b7b6f113c48d202f89c172abd591.tar.gz
ingen-dc5c579778d8b7b6f113c48d202f89c172abd591.tar.bz2
ingen-dc5c579778d8b7b6f113c48d202f89c172abd591.zip
Prevent concurrent Sord access.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5683 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/GraphCanvas.cpp')
-rw-r--r--src/gui/GraphCanvas.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/GraphCanvas.cpp b/src/gui/GraphCanvas.cpp
index ddbebfe7..0725aa67 100644
--- a/src/gui/GraphCanvas.cpp
+++ b/src/gui/GraphCanvas.cpp
@@ -598,6 +598,8 @@ serialise_arc(GanvEdge* arc, void* data)
void
GraphCanvas::copy_selection()
{
+ std::lock_guard<std::mutex> lock(_app.world()->rdf_mutex());
+
Serialiser serialiser(*_app.world());
serialiser.start_to_string(_graph->path(), _graph->base_uri());
@@ -614,6 +616,8 @@ GraphCanvas::paste()
{
typedef Node::Properties::const_iterator PropIter;
+ std::lock_guard<std::mutex> lock(_app.world()->rdf_mutex());
+
const Glib::ustring str = Gtk::Clipboard::get()->wait_for_text();
SPtr<Parser> parser = _app.loader()->parser();
const URIs& uris = _app.uris();