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/gui | |
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/gui')
-rw-r--r-- | src/gui/RDFS.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/gui/RDFS.cpp b/src/gui/RDFS.cpp index 78893112..baa51943 100644 --- a/src/gui/RDFS.cpp +++ b/src/gui/RDFS.cpp @@ -14,6 +14,7 @@ along with Ingen. If not, see <http://www.gnu.org/licenses/>. */ +#include "ingen/Log.hpp" #include "ingen/Resource.hpp" #include "ingen/World.hpp" #include "ingen/client/ObjectModel.hpp" @@ -121,10 +122,16 @@ types(World* world, SPtr<const Client::ObjectModel> model) types.insert(Raul::URI(LILV_NS_RDFS "Resource")); PropRange range = model->properties().equal_range(world->uris().rdf_type); for (PropIter t = range.first; t != range.second; ++t) { - types.insert(Raul::URI(t->second.ptr<char>())); - if (world->uris().ingen_Graph == t->second.ptr<char>()) { - // Add lv2:Plugin as a type for graphs so plugin properties show up - types.insert(world->uris().lv2_Plugin); + if (t->second.type() == world->forge().URI || + t->second.type() == world->forge().URID) { + const Raul::URI type(world->forge().str(t->second, false)); + types.insert(type); + if (world->uris().ingen_Graph == type) { + // Add lv2:Plugin as a type for graphs so plugin properties show up + types.insert(world->uris().lv2_Plugin); + } + } else { + world->log().error(fmt("<%1%> has non-URI type\n") % model->uri()); } } |