sys/fbdev/gstfbdevsink.c: Free the device string in finalize. Fixes bug #515722.
Original commit message from CVS:
* sys/fbdev/gstfbdevsink.c: (gst_fbdevsink_class_init),
(gst_fbdevsink_finalize):
Free the device string in finalize. Fixes bug #515722.
diff --git a/ChangeLog b/ChangeLog
index d23a8eb..0c86732 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 830e919..3f5c502 100644
--- a/sys/fbdev/gstfbdevsink.c
+++ b/sys/fbdev/gstfbdevsink.c
@@ -64,6 +64,7 @@
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 @@
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 @@
}
+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)
{