diff --git a/ChangeLog b/ChangeLog index dc538abb72..dad0a66bc0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-08-16 Tim-Philipp Müller + + * sys/oss/gstossmixerelement.c: (gst_oss_mixer_element_class_init), + (gst_oss_mixer_element_finalize): + Don't leak device string. + 2006-08-16 Tim-Philipp Müller * configure.ac: diff --git a/sys/oss/gstossmixerelement.c b/sys/oss/gstossmixerelement.c index 34e6904fd5..3ca3abb541 100644 --- a/sys/oss/gstossmixerelement.c +++ b/sys/oss/gstossmixerelement.c @@ -75,6 +75,7 @@ static void gst_oss_mixer_element_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_oss_mixer_element_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static void gst_oss_mixer_element_finalize (GObject * object); static void gst_oss_mixer_element_base_init (gpointer klass) @@ -92,6 +93,7 @@ gst_oss_mixer_element_class_init (GstOssMixerElementClass * klass) element_class = (GstElementClass *) klass; gobject_class = (GObjectClass *) klass; + gobject_class->finalize = gst_oss_mixer_element_finalize; gobject_class->set_property = gst_oss_mixer_element_set_property; gobject_class->get_property = gst_oss_mixer_element_get_property; @@ -116,6 +118,16 @@ gst_oss_mixer_element_class_init (GstOssMixerElementClass * klass) GST_DEBUG_FUNCPTR (gst_oss_mixer_element_change_state); } +static void +gst_oss_mixer_element_finalize (GObject * obj) +{ + GstOssMixerElement *this = GST_OSS_MIXER_ELEMENT (obj); + + g_free (this->device); + + G_OBJECT_CLASS (parent_class)->finalize (obj); +} + static void gst_oss_mixer_element_init (GstOssMixerElement * this, GstOssMixerElementClass * g_class)