summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@gnome.org>2004-02-04 17:23:56 +0000
committerBenjamin Otte <otte@gnome.org>2004-02-04 17:23:56 +0000
commitd7949a9ba8dcbad5a732aaeded37fbb34031a5fe (patch)
tree2834d5909f9b2da33d3e2486dded36c0d9c6e505
parentd1f51a277381a84644b6e6b526ee8c65b3ad4566 (diff)
downloadgstreamer-plugins-base-d7949a9ba8dcbad5a732aaeded37fbb34031a5fe.tar.gz
gst/sine/gstsinesrc.c: fix memleak by properly disposing sinesrc
Original commit message from CVS: 2004-02-04 Benjamin Otte <in7y118@public.uni-hamburg.de> * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_dispose): fix memleak by properly disposing sinesrc
-rw-r--r--ChangeLog6
-rw-r--r--gst/sine/gstsinesrc.c13
2 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d81d3b18..8d0058fa0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-04 Benjamin Otte <in7y118@public.uni-hamburg.de>
+
+ * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init),
+ (gst_sinesrc_dispose):
+ fix memleak by properly disposing sinesrc
+
2004-02-04 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose):
diff --git a/gst/sine/gstsinesrc.c b/gst/sine/gstsinesrc.c
index a047214e6..556a062db 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)
{