summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/BlockModel.cpp2
-rw-r--r--src/client/ClientStore.cpp15
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);
}