summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-01-29 22:49:40 +0000
committerDavid Robillard <d@drobilla.net>2015-01-29 22:49:40 +0000
commit3eb918b6b08821cecd92381c3f8c7967ca5bd995 (patch)
tree9453b56f44eaeabaa80c733ccff42c3098a88628 /src/client
parentdea82e3c11940c8a948fd6555ea70b2fa35c015a (diff)
downloadingen-3eb918b6b08821cecd92381c3f8c7967ca5bd995.tar.gz
ingen-3eb918b6b08821cecd92381c3f8c7967ca5bd995.tar.bz2
ingen-3eb918b6b08821cecd92381c3f8c7967ca5bd995.zip
Add lilv_file_uri_parse() for correct URI to path conversion.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5528 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client')
-rw-r--r--src/client/PluginUI.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp
index 4b8651db..31e1f9ae 100644
--- a/src/client/PluginUI.cpp
+++ b/src/client/PluginUI.cpp
@@ -238,6 +238,11 @@ PluginUI::create(Ingen::World* world,
lilv_node_free(ui_plugin);
lilv_node_free(ui_portNotification);
+ const char* bundle_uri = lilv_node_as_uri(lilv_ui_get_bundle_uri(ui));
+ const char* binary_uri = lilv_node_as_uri(lilv_ui_get_binary_uri(ui));
+ char* bundle_path = lilv_file_uri_parse(bundle_uri, NULL);
+ char* binary_path = lilv_file_uri_parse(binary_uri, NULL);
+
// Instantiate the actual plugin UI via Suil
SuilInstance* instance = suil_instance_new(
PluginUI::ui_host,
@@ -246,10 +251,12 @@ PluginUI::create(Ingen::World* world,
lilv_node_as_uri(lilv_plugin_get_uri(plugin)),
lilv_node_as_uri(lilv_ui_get_uri(ui)),
lilv_node_as_uri(ui_type),
- lilv_uri_to_path(lilv_node_as_uri(lilv_ui_get_bundle_uri(ui))),
- lilv_uri_to_path(lilv_node_as_uri(lilv_ui_get_binary_uri(ui))),
+ bundle_path,
+ binary_path,
ret->_features->array());
+ free(binary_path);
+ free(bundle_path);
lilv_node_free(gtk_ui);
if (!instance) {