gst/sine/gstsinesrc.c: fix memleak by properly disposing sinesrc
authorBenjamin Otte <otte@gnome.org>
Wed, 4 Feb 2004 17:23:56 +0000 (17:23 +0000)
committerBenjamin Otte <otte@gnome.org>
Wed, 4 Feb 2004 17:23:56 +0000 (17:23 +0000)
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

ChangeLog
gst/sine/gstsinesrc.c

index 0d81d3b..8d0058f 100644 (file)
--- 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):
index a047214..556a062 100644 (file)
@@ -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)
 {