From d7949a9ba8dcbad5a732aaeded37fbb34031a5fe Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 4 Feb 2004 17:23:56 +0000 Subject: [PATCH] gst/sine/gstsinesrc.c: fix memleak by properly disposing sinesrc Original commit message from CVS: 2004-02-04 Benjamin Otte * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_dispose): fix memleak by properly disposing sinesrc --- ChangeLog | 6 ++++++ gst/sine/gstsinesrc.c | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0d81d3b..8d0058f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-02-04 Benjamin Otte + + * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), + (gst_sinesrc_dispose): + fix memleak by properly disposing sinesrc + 2004-02-04 Julien MOUTTE * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose): diff --git a/gst/sine/gstsinesrc.c b/gst/sine/gstsinesrc.c index a047214..556a062 100644 --- a/gst/sine/gstsinesrc.c +++ b/gst/sine/gstsinesrc.c @@ -72,6 +72,7 @@ GST_STATIC_PAD_TEMPLATE ( static void gst_sinesrc_class_init (GstSineSrcClass *klass); static void gst_sinesrc_base_init (GstSineSrcClass *klass); static void gst_sinesrc_init (GstSineSrc *src); +static void gst_sinesrc_dispose (GObject *object); static void gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, @@ -161,6 +162,7 @@ gst_sinesrc_class_init (GstSineSrcClass *klass) gobject_class->set_property = gst_sinesrc_set_property; gobject_class->get_property = gst_sinesrc_get_property; + gobject_class->dispose = gst_sinesrc_dispose; gstelement_class->change_state = gst_sinesrc_change_state; } @@ -215,6 +217,17 @@ gst_sinesrc_init (GstSineSrc *src) } +static void +gst_sinesrc_dispose (GObject *object) +{ + GstSineSrc *sinesrc = GST_SINESRC (object); + + g_free (sinesrc->table_data); + sinesrc->table_data = NULL; + + GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object)); +} + static GstCaps * gst_sinesrc_src_fixate (GstPad *pad, const GstCaps *caps) { -- 2.7.4