summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/input/input_cdda.c12
-rw-r--r--src/input/input_dvd.c11
-rw-r--r--src/input/input_file.c5
-rw-r--r--src/input/input_vcd.c5
4 files changed, 28 insertions, 5 deletions
diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c
index 41771b2fb..0e0831c91 100644
--- a/src/input/input_cdda.c
+++ b/src/input/input_cdda.c
@@ -20,7 +20,7 @@
* Compact Disc Digital Audio (CDDA) Input Plugin
* by Mike Melanson (melanson@pcisys.net)
*
- * $Id: input_cdda.c,v 1.75 2005/08/29 15:28:16 valtri Exp $
+ * $Id: input_cdda.c,v 1.76 2005/09/02 22:39:43 tmattern Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -2561,6 +2561,16 @@ static char *cdda_class_get_description (input_class_t *this_gen) {
static void cdda_class_dispose (input_class_t *this_gen) {
cdda_input_class_t *this = (cdda_input_class_t *) this_gen;
+ config_values_t *config = this->xine->config;
+
+ config->unregister_callback(config, "media.audio_cd.device");
+ config->unregister_callback(config, "media.audio_cd.use_cddb");
+ config->unregister_callback(config, "media.audio_cd.cddb_server");
+ config->unregister_callback(config, "media.audio_cd.cddb_port");
+ config->unregister_callback(config, "media.audio_cd.cddb_cachedir");
+#ifdef CDROM_SELECT_SPEED
+ config->unregister_callback(config, "media.audio_cd.drive_slowdown");
+#endif
free (this->mrls);
free (this);
diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c
index 527e5a098..ed337b9c4 100644
--- a/src/input/input_dvd.c
+++ b/src/input/input_dvd.c
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_dvd.c,v 1.202 2005/08/25 15:36:29 valtri Exp $
+ * $Id: input_dvd.c,v 1.203 2005/09/02 22:39:42 tmattern Exp $
*
*/
@@ -1708,7 +1708,14 @@ static char **dvd_class_get_autoplay_list (input_class_t *this_gen,
static void dvd_class_dispose(input_class_t *this_gen) {
dvd_input_class_t *this = (dvd_input_class_t*)this_gen;
-
+ config_values_t *config = this->xine->config;
+
+ config->unregister_callback(config, "media.dvd.region");
+ config->unregister_callback(config, "media.dvd.language");
+ config->unregister_callback(config, "media.dvd.readahead");
+ config->unregister_callback(config, "media.dvd.seek_behaviour");
+ config->unregister_callback(config, "media.dvd.play_single_chapter");
+
free(this->eject_device);
free(this);
}
diff --git a/src/input/input_file.c b/src/input/input_file.c
index 252bf4b50..cc8be66c0 100644
--- a/src/input/input_file.c
+++ b/src/input/input_file.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_file.c,v 1.103 2005/08/25 15:36:29 valtri Exp $
+ * $Id: input_file.c,v 1.104 2005/09/02 22:39:43 tmattern Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -851,6 +851,9 @@ static xine_mrl_t **file_class_get_dir (input_class_t *this_gen,
static void file_class_dispose (input_class_t *this_gen) {
file_input_class_t *this = (file_input_class_t *) this_gen;
+ config_values_t *config = this->xine->config;
+
+ config->unregister_callback(config, "media.files.origin_path");
free (this->mrls);
free (this);
diff --git a/src/input/input_vcd.c b/src/input/input_vcd.c
index 89022d9d3..e6fafe07b 100644
--- a/src/input/input_vcd.c
+++ b/src/input/input_vcd.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_vcd.c,v 1.79 2005/02/07 23:58:58 tmattern Exp $
+ * $Id: input_vcd.c,v 1.80 2005/09/02 22:39:43 tmattern Exp $
*
*/
@@ -930,6 +930,9 @@ static void vcd_class_dispose (input_class_t *this_gen) {
vcd_input_class_t *this = (vcd_input_class_t *) this_gen;
int i;
+ config_values_t *config = this->xine->config;
+
+ config->unregister_callback(config, "media.vcd.device");
for (i = 0; i < 100; i++)
free (this->filelist[i]);