summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sys/fbdev/gstfbdevsink.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d23a8ebf..0c86732c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
{