diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sys/fbdev/gstfbdevsink.c | 12 |
2 files changed, 18 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org> + * sys/fbdev/gstfbdevsink.c: (gst_fbdevsink_class_init), + (gst_fbdevsink_finalize): + Free the device string in finalize. Fixes bug #515722. + +2008-02-11 Sebastian Dröge <slomo@circular-chaos.org> + * ext/xvid/gstxvidenc.c: (gst_xvidenc_init): Unset GValues after using them. Fixes bug #515720. diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c index 830e919a..3f5c5026 100644 --- a/sys/fbdev/gstfbdevsink.c +++ b/sys/fbdev/gstfbdevsink.c @@ -64,6 +64,7 @@ static GstFlowReturn gst_fbdevsink_render (GstBaseSink * bsink, static gboolean gst_fbdevsink_start (GstBaseSink * bsink); static gboolean gst_fbdevsink_stop (GstBaseSink * bsink); +static void gst_fbdevsink_finalize (GObject * object); static void gst_fbdevsink_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_fbdevsink_get_property (GObject * object, @@ -391,6 +392,7 @@ gst_fbdevsink_class_init (GstFBDEVSinkClass * klass) gobject_class->set_property = gst_fbdevsink_set_property; gobject_class->get_property = gst_fbdevsink_get_property; + gobject_class->finalize = gst_fbdevsink_finalize; gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_fbdevsink_change_state); @@ -409,6 +411,16 @@ gst_fbdevsink_class_init (GstFBDEVSinkClass * klass) } +static void +gst_fbdevsink_finalize (GObject * object) +{ + GstFBDEVSink *fbdevsink = GST_FBDEVSINK (object); + + g_free (fbdevsink->device); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + GType gst_fbdevsink_get_type (void) { |