diff options
| author | phintuka <phintuka> | 2006-09-16 22:30:52 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2006-09-16 22:30:52 +0000 |
| commit | de95f551305b810203353023c3f3f93bbffccb95 (patch) | |
| tree | 7739749ef69f181b6900c34fa371742685bd2c11 | |
| parent | fa65742d148e881f60bf4514b74a3e91db9cac4c (diff) | |
| download | xineliboutput-de95f551305b810203353023c3f3f93bbffccb95.tar.gz xineliboutput-de95f551305b810203353023c3f3f93bbffccb95.tar.bz2 | |
Fix unloading of all plugins (even "static" plugins given on command line are unloaded)
Fix unloading all post plugins (every second was left unloaded)
Fixed debug output when name=null
| -rw-r--r-- | xine/post.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/xine/post.c b/xine/post.c index 24bd99bc..43a1c8d0 100644 --- a/xine/post.c +++ b/xine/post.c @@ -842,11 +842,11 @@ static int _pplugin_unload_post(post_plugins_t *fe, const char *name, if(!*post_elements || !*post_elements_num) return 0; - for(i=0; i < *post_elements_num; i++) - if((*post_elements)[i]) + for(i=0; i < *post_elements_num; i++) { + if((*post_elements)[i]) { if(!name || !strcmp((*post_elements)[i]->name, name)) { - if((*post_elements)[i]->enable == 0) { + if((*post_elements)[i]->enable == 0 || !name) { xine_post_dispose(fe->xine, (*post_elements)[i]->post); free((*post_elements)[i]->name); @@ -863,10 +863,15 @@ static int _pplugin_unload_post(post_plugins_t *fe, const char *name, (*post_elements)[(*post_elements_num)] = 0; result = 1; + i--; + } else { - LOGDBG("Unload %s failed: plugin enabled and in use", name); + LOGDBG("Unload %s failed: plugin enabled and in use", + (*post_elements)[i]->name); } } + } + } if(*post_elements_num <= 0) { if(*post_elements) |
