diff --git a/ChangeLog b/ChangeLog index 3400848672..1cf78e70c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2004-06-17 Thomas Vander Stichele + + * configure.ac: + add videorate + * sys/ximage/ximagesink.c: (gst_ximagesink_finalize), + (gst_ximagesink_class_init): + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_finalize), + (gst_xvimagesink_class_init): + run them as finalize, not dispose, since dispose can be invoked + multiple times + 2004-06-17 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose), diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index 8aa6a98689..20c1316638 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -1242,7 +1242,7 @@ gst_ximagesink_get_property (GObject * object, guint prop_id, } static void -gst_ximagesink_dispose (GObject * object) +gst_ximagesink_finalize (GObject * object) { GstXImageSink *ximagesink; @@ -1256,7 +1256,7 @@ gst_ximagesink_dispose (GObject * object) g_mutex_free (ximagesink->x_lock); g_mutex_free (ximagesink->pool_lock); - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (parent_class)->finalize (object); } static void @@ -1332,7 +1332,7 @@ gst_ximagesink_class_init (GstXImageSinkClass * klass) "the X display in synchronous mode. (used only for debugging)", FALSE, G_PARAM_READWRITE)); - gobject_class->dispose = gst_ximagesink_dispose; + gobject_class->finalize = gst_ximagesink_finalize; gobject_class->set_property = gst_ximagesink_set_property; gobject_class->get_property = gst_ximagesink_get_property; diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index d01ecf8723..fbb6999ba2 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -1627,8 +1627,11 @@ gst_xvimagesink_get_property (GObject * object, guint prop_id, } } +/* Finalize is called only once, dispose can be called multiple times. + * We use mutexes and don't reset stuff to NULL here so let's register + * as a finalize. */ static void -gst_xvimagesink_dispose (GObject * object) +gst_xvimagesink_finalize (GObject * object) { GstXvImageSink *xvimagesink; @@ -1642,7 +1645,7 @@ gst_xvimagesink_dispose (GObject * object) g_mutex_free (xvimagesink->x_lock); g_mutex_free (xvimagesink->pool_lock); - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (parent_class)->finalize (object); } static void @@ -1734,7 +1737,7 @@ gst_xvimagesink_class_init (GstXvImageSinkClass * klass) "the X display in synchronous mode. (used only for debugging)", FALSE, G_PARAM_READWRITE)); - gobject_class->dispose = gst_xvimagesink_dispose; + gobject_class->finalize = gst_xvimagesink_finalize; gobject_class->set_property = gst_xvimagesink_set_property; gobject_class->get_property = gst_xvimagesink_get_property;