summaryrefslogtreecommitdiffstats
path: root/src/plugin.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-02-11 20:13:32 +0000
committerDavid Robillard <d@drobilla.net>2011-02-11 20:13:32 +0000
commit81d2d2f3abcec251d910358bb2751d5e1ee12985 (patch)
tree6604cf4a8bedbdb406eec471b2d37a78ba7080a4 /src/plugin.c
parentc5a9a86a6b4b623eab004bec7500a39d39a43bcd (diff)
downloadlilv-81d2d2f3abcec251d910358bb2751d5e1ee12985.tar.gz
lilv-81d2d2f3abcec251d910358bb2751d5e1ee12985.tar.bz2
lilv-81d2d2f3abcec251d910358bb2751d5e1ee12985.zip
Fix dynamic manifest support.
git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@2921 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugin.c b/src/plugin.c
index 9c13d06..71d4b0f 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -170,12 +170,17 @@ slv2_plugin_load(SLV2Plugin p)
typedef int (*GetDataFunc)(LV2_Dyn_Manifest_Handle handle,
FILE* fp,
const char* uri);
- GetDataFunc get_data_func = (GetDataFunc)slv2_dlfunc(lib, "lv2_dyn_manifest_get_data");
+ GetDataFunc get_data_func = (GetDataFunc)slv2_dlfunc(
+ lib, "lv2_dyn_manifest_get_data");
if (get_data_func) {
FILE* fd = tmpfile();
get_data_func(handle, fd, slv2_value_as_string(p->plugin_uri));
rewind(fd);
- sord_read_file_handle(p->world->model, fd, p->bundle_uri);
+ sord_read_file_handle(p->world->model,
+ fd,
+ (const uint8_t*)slv2_value_as_uri(p->dynman_uri),
+ p->bundle_uri->val.uri_val,
+ slv2_world_blank_node_prefix(p->world));
fclose(fd);
}
@@ -185,6 +190,7 @@ slv2_plugin_load(SLV2Plugin p)
close_func(handle);
}
#endif
+
p->loaded = true;
}