summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-06-02 23:58:11 +0000
committerDavid Robillard <d@drobilla.net>2009-06-02 23:58:11 +0000
commit73856ffd42ba34d279ae16ec8058a2a22bf9a1d6 (patch)
tree95c80f73feeb6b24839f8d1cd7599ce586110538
parent49c05a2653e2f6c8abd8390a5e1f07361cd66f33 (diff)
downloadingen-73856ffd42ba34d279ae16ec8058a2a22bf9a1d6.tar.gz
ingen-73856ffd42ba34d279ae16ec8058a2a22bf9a1d6.tar.bz2
ingen-73856ffd42ba34d279ae16ec8058a2a22bf9a1d6.zip
Fix crash on copy/paste.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2063 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/client/ClientStore.cpp2
-rw-r--r--src/gui/PatchCanvas.cpp4
-rw-r--r--src/shared/ResourceImpl.cpp1
3 files changed, 4 insertions, 3 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp
index 7a2a4ef5..4943cf71 100644
--- a/src/client/ClientStore.cpp
+++ b/src/client/ClientStore.cpp
@@ -327,7 +327,7 @@ ClientStore::put(const URI& uri, const Resource::Properties& properties)
p->set_properties(properties);
add_object(p);
} else {
- cerr << "WARNING: Port " << path << " is malformed" << endl;
+ cerr << "WARNING: Port " << path << " has no type" << endl;
}
} else {
cerr << "WARNING: Ignoring object " << path << " with unknown type "
diff --git a/src/gui/PatchCanvas.cpp b/src/gui/PatchCanvas.cpp
index 26eff17c..bbe3d2c8 100644
--- a/src/gui/PatchCanvas.cpp
+++ b/src/gui/PatchCanvas.cpp
@@ -650,7 +650,7 @@ PatchCanvas::paste()
Resource::Properties props;
props.insert(make_pair("rdf:type", Raul::Atom(Raul::Atom::URI, "ingen:Patch")));
props.insert(make_pair("ingen:polyphony", Raul::Atom(int32_t(_patch->poly()))));
- clipboard.put("/", props);
+ clipboard.put(Path(), props);
size_t first_slash;
while (to_create != "/" && to_create != ""
&& (first_slash = to_create.find("/")) != string::npos) {
@@ -672,7 +672,7 @@ PatchCanvas::paste()
}
ClashAvoider avoider(*App::instance().store().get(), clipboard, &clipboard);
- parser->parse_string(App::instance().world(), &avoider, str, "", data_path,
+ parser->parse_string(App::instance().world(), &avoider, str, Path().str(), data_path,
parent, symbol);
for (Store::iterator i = clipboard.begin(); i != clipboard.end(); ++i) {
diff --git a/src/shared/ResourceImpl.cpp b/src/shared/ResourceImpl.cpp
index ac828f58..ece81b09 100644
--- a/src/shared/ResourceImpl.cpp
+++ b/src/shared/ResourceImpl.cpp
@@ -86,6 +86,7 @@ ResourceImpl::type(
for (iterator i = types_range.first; i != types_range.second; ++i) {
const Atom& atom = i->second;
if (atom.type() == Atom::URI) {
+ cerr << "TYPE: " << atom.get_uri() << endl;
if (!strncmp(atom.get_uri(), "ingen:", 6)) {
const char* suffix = atom.get_uri() + 6;
if (!strcmp(suffix, "Patch")) {