From 4ea3b91218fb9e08ef32446fdde838dab142d9d6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 29 Nov 2007 01:38:16 +0000 Subject: Fix instantiate parameters to match lv2.h git-svn-id: http://svn.drobilla.net/lad/slv2@921 a436a847-0d15-0410-975c-d299462d15a1 --- src/plugininstance.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/plugininstance.c b/src/plugininstance.c index 4e405a7..55d1225 100644 --- a/src/plugininstance.c +++ b/src/plugininstance.c @@ -31,16 +31,16 @@ SLV2Instance -slv2_plugin_instantiate(SLV2Plugin plugin, - double sample_rate, - const LV2_Feature** features) +slv2_plugin_instantiate(SLV2Plugin plugin, + double sample_rate, + const LV2_Feature*const* features) { struct _Instance* result = NULL; - bool local_features = (features == NULL); - if (local_features) { - features = malloc(sizeof(LV2_Feature)); - features[0] = NULL; + const LV2_Feature** local_features = NULL; + if (features == NULL) { + local_features = malloc(sizeof(LV2_Feature)); + local_features[0] = NULL; } const char* const lib_uri = slv2_plugin_get_library_uri(plugin); @@ -91,8 +91,9 @@ slv2_plugin_instantiate(SLV2Plugin plugin, // Create SLV2Instance to return result = malloc(sizeof(struct _Instance)); result->lv2_descriptor = ld; - result->lv2_handle = ld->instantiate(ld, sample_rate, (char*)bundle_path, features); - struct _InstanceImpl* impl = malloc(sizeof(struct _InstanceImpl)); + result->lv2_handle = ld->instantiate(ld, sample_rate, (char*)bundle_path, + (features) ? features : local_features); + struct _InstanceImpl* impl = malloc(sizeof(struct _InstanceImpl)); impl->lib_handle = lib; result->pimpl = impl; @@ -116,8 +117,7 @@ slv2_plugin_instantiate(SLV2Plugin plugin, result->lv2_descriptor->connect_port(result->lv2_handle, i, NULL); } - if (local_features) - free(features); + free(local_features); return result; } -- cgit v1.2.1