diff options
Diffstat (limited to 'src/client/ClientStore.cpp')
-rw-r--r-- | src/client/ClientStore.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
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); } |