if (plugin->src_comp_classes) {
BT_LOGD_STR("Putting source component classes.");
g_ptr_array_free(plugin->src_comp_classes, TRUE);
+ plugin->src_comp_classes = NULL;
}
if (plugin->flt_comp_classes) {
BT_LOGD_STR("Putting filter component classes.");
g_ptr_array_free(plugin->flt_comp_classes, TRUE);
+ plugin->flt_comp_classes = NULL;
}
if (plugin->sink_comp_classes) {
BT_LOGD_STR("Putting sink component classes.");
g_ptr_array_free(plugin->sink_comp_classes, TRUE);
+ plugin->sink_comp_classes = NULL;
}
if (plugin->info.name) {
g_string_free(plugin->info.name, TRUE);
+ plugin->info.name = NULL;
}
if (plugin->info.path) {
g_string_free(plugin->info.path, TRUE);
+ plugin->info.path = NULL;
}
if (plugin->info.description) {
g_string_free(plugin->info.description, TRUE);
+ plugin->info.description = NULL;
}
if (plugin->info.author) {
g_string_free(plugin->info.author, TRUE);
+ plugin->info.author = NULL;
}
if (plugin->info.license) {
g_string_free(plugin->info.license, TRUE);
+ plugin->info.license = NULL;
}
if (plugin->info.version.extra) {
g_string_free(plugin->info.version.extra, TRUE);
+ plugin->info.version.extra = NULL;
}
g_free(plugin);
}
/* Add new component class */
- g_ptr_array_add(comp_classes, bt_object_get_ref(comp_class));
+ bt_object_get_ref(comp_class);
+ g_ptr_array_add(comp_classes, comp_class);
/* Special case for a shared object plugin */
if (plugin->type == BT_PLUGIN_TYPE_SO) {
{
BT_ASSERT(plugin_set);
BT_ASSERT(plugin);
- g_ptr_array_add(plugin_set->plugins, bt_object_get_ref(plugin));
+ bt_object_get_ref(plugin);
+ g_ptr_array_add(plugin_set->plugins, plugin);
BT_LIB_LOGV("Added plugin to plugin set: "
"plugin-set-addr=%p, %![plugin-]+l",
plugin_set, plugin);