summaryrefslogtreecommitdiff
path: root/src/xine-engine/load_plugins.c
diff options
context:
space:
mode:
authorThibaut Mattern <thibaut.mattern@gmail.com>2007-04-05 19:14:48 +0200
committerThibaut Mattern <thibaut.mattern@gmail.com>2007-04-05 19:14:48 +0200
commit90ec5563d6d3ce1abd5fc52d4aee1b0ecf6c7516 (patch)
tree6e7137228c6aab3b0b48126f55394b32e9b90142 /src/xine-engine/load_plugins.c
parent54ad01301df2b562e316a7910436ac1ff7494ac3 (diff)
downloadxine-lib-90ec5563d6d3ce1abd5fc52d4aee1b0ecf6c7516.tar.gz
xine-lib-90ec5563d6d3ce1abd5fc52d4aee1b0ecf6c7516.tar.bz2
Filled the config entry list when the callback is called.
Diffstat (limited to 'src/xine-engine/load_plugins.c')
-rw-r--r--src/xine-engine/load_plugins.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index 320fc0dd2..f4be27587 100644
--- a/src/xine-engine/load_plugins.c
+++ b/src/xine-engine/load_plugins.c
@@ -704,6 +704,12 @@ static void _new_entry_cb (void *user_data, xine_cfg_entry_t *entry) {
/*
printf("_new_entry_cb: key %s, plugin id: %s\n", entry->key, node->info->id);
*/
+ if (!node->config_entry_list) {
+ node->config_entry_list = xine_list_new();
+ }
+
+ xine_list_push_back(node->config_entry_list, (void *)entry->key);
+
}
static int _load_plugin_class(xine_t *this,
@@ -2603,6 +2609,10 @@ static void dispose_plugin_list (xine_sarray_t *list) {
/* free info structure and string copies */
free (node->info->id);
free (node->info);
+
+ if (node->config_entry_list) {
+ xine_list_delete(node->config_entry_list);
+ }
free (node);
}
xine_sarray_delete(list);