diff options
author | David Robillard <d@drobilla.net> | 2015-08-29 01:04:18 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-08-29 01:04:18 +0000 |
commit | d3768319106a5cf7824579ec3bf9ff1776c09383 (patch) | |
tree | 75ff9aee374306a7f7ecdc8e5cfc807dcbdc1a22 /src/client | |
parent | 3b22d3c8c57867cad7304dac1e9be5ee36ae9715 (diff) | |
download | ingen-d3768319106a5cf7824579ec3bf9ff1776c09383.tar.gz ingen-d3768319106a5cf7824579ec3bf9ff1776c09383.tar.bz2 ingen-d3768319106a5cf7824579ec3bf9ff1776c09383.zip |
Fix invalid conversion of URIDs to strings.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5709 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/BlockModel.cpp | 2 | ||||
-rw-r--r-- | src/client/ClientStore.cpp | 15 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/client/BlockModel.cpp b/src/client/BlockModel.cpp index 67261dba..e3f7d22f 100644 --- a/src/client/BlockModel.cpp +++ b/src/client/BlockModel.cpp @@ -239,7 +239,7 @@ std::string BlockModel::port_label(SPtr<const PortModel> port) const { const Atom& name = port->get_property(Raul::URI(LV2_CORE__name)); - if (name.is_valid()) { + if (name.is_valid() && name.type() == _uris.forge.String) { return name.ptr<char>(); } diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp index 5adf7f52..b055a88c 100644 --- a/src/client/ClientStore.cpp +++ b/src/client/ClientStore.cpp @@ -307,14 +307,15 @@ ClientStore::put(const Raul::URI& uri, } SPtr<PluginModel> plug; - if (p->second.is_valid() && p->second.type() == _uris.forge.URI) { - if (!(plug = _plugin(Raul::URI(p->second.ptr<char>())))) { + if (p->second.is_valid() && (p->second.type() == _uris.forge.URI || + p->second.type() == _uris.forge.URID)) { + const Raul::URI uri(_uris.forge.str(p->second, false)); + if (!(plug = _plugin(uri))) { plug = SPtr<PluginModel>( - new PluginModel( - uris(), - Raul::URI(p->second.ptr<char>()), - Atom(), - Resource::Properties())); + new PluginModel(uris(), + uri, + Atom(), + Resource::Properties())); add_plugin(plug); } |