From ab09f84423f7020778f3c189c357b9a2e1030903 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Thu, 25 Feb 2016 12:28:51 -0500 Subject: [PATCH] Make component class destructor optional MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau --- lib/plugin-system/component.c | 9 +++++---- lib/plugin-system/sink.c | 6 ------ lib/plugin-system/source.c | 6 ------ 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/lib/plugin-system/component.c b/lib/plugin-system/component.c index 16bc2868..5b424cd8 100644 --- a/lib/plugin-system/component.c +++ b/lib/plugin-system/component.c @@ -59,8 +59,6 @@ void bt_component_destroy(struct bt_object *obj) } component = container_of(obj, struct bt_component, base); - - assert(component->destroy); component_class = component->class; /* @@ -71,7 +69,10 @@ void bt_component_destroy(struct bt_object *obj) component->user_destroy(component->user_data); } - component->destroy(component); + if (component->destroy) { + component->destroy(component); + } + g_string_free(component->name, TRUE); bt_put(component_class); g_free(component); @@ -83,7 +84,7 @@ enum bt_component_status bt_component_init(struct bt_component *component, { enum bt_component_status ret = BT_COMPONENT_STATUS_OK; - if (!component || !destroy) { + if (!component) { ret = BT_COMPONENT_STATUS_INVALID; goto end; } diff --git a/lib/plugin-system/sink.c b/lib/plugin-system/sink.c index e37105b1..33295286 100644 --- a/lib/plugin-system/sink.c +++ b/lib/plugin-system/sink.c @@ -31,12 +31,6 @@ #include #include -static -void bt_component_sink_destroy(struct bt_component *component) -{ - return; -} - BT_HIDDEN enum bt_component_status bt_component_sink_validate( struct bt_component *component) diff --git a/lib/plugin-system/source.c b/lib/plugin-system/source.c index ed3b1642..e4915a98 100644 --- a/lib/plugin-system/source.c +++ b/lib/plugin-system/source.c @@ -33,12 +33,6 @@ #include #include -static -void bt_component_source_destroy(struct bt_component *component) -{ - return; -} - BT_HIDDEN enum bt_component_status bt_component_source_validate( struct bt_component *component) -- 2.34.1