summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-30 18:22:54 +0000
committerDavid Robillard <d@drobilla.net>2007-09-30 18:22:54 +0000
commit09bf0ca18301b9ef7a4360be35d2d1921a0d28d8 (patch)
tree8e963a7cbded5bf2e367fccef999fb5856093388
parenta55a5eaac9d245ba0b4360316118ce4d3e101f11 (diff)
downloadlilv-09bf0ca18301b9ef7a4360be35d2d1921a0d28d8.tar.gz
lilv-09bf0ca18301b9ef7a4360be35d2d1921a0d28d8.tar.bz2
lilv-09bf0ca18301b9ef7a4360be35d2d1921a0d28d8.zip
Be more tolerant of NULL collections (appear as if they're empty instead of dying).
Fix lv2_inspect crash on GUI-less plugins. git-svn-id: http://svn.drobilla.net/lad/slv2@787 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/pluginclasses.c3
-rw-r--r--src/plugins.c4
-rw-r--r--src/pluginuis.c5
-rw-r--r--src/values.c5
4 files changed, 10 insertions, 7 deletions
diff --git a/src/pluginclasses.c b/src/pluginclasses.c
index 5cf56ec..1b578f1 100644
--- a/src/pluginclasses.c
+++ b/src/pluginclasses.c
@@ -38,6 +38,7 @@ void
slv2_plugin_classes_free(SLV2PluginClasses list)
{
//if (list != world->plugin_classes)
+ if (list)
raptor_free_sequence(list);
}
@@ -45,7 +46,7 @@ slv2_plugin_classes_free(SLV2PluginClasses list)
unsigned
slv2_plugin_classes_size(SLV2PluginClasses list)
{
- return raptor_sequence_size(list);
+ return (list ? raptor_sequence_size(list) : 0);
}
diff --git a/src/plugins.c b/src/plugins.c
index d524122..9d3214e 100644
--- a/src/plugins.c
+++ b/src/plugins.c
@@ -42,7 +42,7 @@ slv2_plugins_new()
void
slv2_plugins_free(SLV2World world, SLV2Plugins list)
{
- if (list != world->plugins)
+ if (list && list != world->plugins)
raptor_free_sequence(list);
}
@@ -268,7 +268,7 @@ slv2_plugins_load_path(SLV2Plugins list,
unsigned
slv2_plugins_size(SLV2Plugins list)
{
- return raptor_sequence_size(list);
+ return (list ? raptor_sequence_size(list) : 0);
}
diff --git a/src/pluginuis.c b/src/pluginuis.c
index 5d01bae..bc4b66b 100644
--- a/src/pluginuis.c
+++ b/src/pluginuis.c
@@ -41,14 +41,15 @@ slv2_uis_new()
void
slv2_uis_free(SLV2UIs list)
{
- raptor_free_sequence(list);
+ if (list)
+ raptor_free_sequence(list);
}
unsigned
slv2_uis_size(SLV2UIs list)
{
- return raptor_sequence_size(list);
+ return (list ? raptor_sequence_size(list) : 0);
}
diff --git a/src/values.c b/src/values.c
index 4920454..02544cd 100644
--- a/src/values.c
+++ b/src/values.c
@@ -34,14 +34,15 @@ slv2_values_new()
void
slv2_values_free(SLV2Values list)
{
- raptor_free_sequence(list);
+ if (list)
+ raptor_free_sequence(list);
}
unsigned
slv2_values_size(SLV2Values list)
{
- return raptor_sequence_size(list);
+ return (list ? raptor_sequence_size(list) : 0);
}