gst/gstxml.c: Implement GObject::dispose virtual method in GstXML so we can free...
authorEdward Hervey <bilboed@bilboed.com>
Mon, 21 Aug 2006 14:03:33 +0000 (14:03 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 21 Aug 2006 14:03:33 +0000 (14:03 +0000)
Original commit message from CVS:
* gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
Implement GObject::dispose virtual method in GstXML so we can free the
top_elements GList.

ChangeLog
gst/gstxml.c

index dd7aef83c8e56bb3d9664fe8fac927df19906240..de40801ee1879b317ed6cc8524ffb75813c908cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-21  Edward Hervey  <edward@fluendo.com>
+
+       * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
+       Implement GObject::dispose virtual method in GstXML so we can free the
+       top_elements GList.
+
 2006-08-21  Wim Taymans  <wim@fluendo.com>
 
        * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
index 292626ad03d1d9b547cc5b6e5c53fcad8184da2f..63529a85938f224b91333069103008a22f1cbbfb 100644 (file)
@@ -49,6 +49,7 @@ enum
 
 static void gst_xml_class_init (GstXMLClass * klass);
 static void gst_xml_init (GstXML * xml);
+static void gst_xml_dispose (GObject * object);
 
 static void gst_xml_object_loaded (GstObject * private, GstObject * object,
     xmlNodePtr self, gpointer data);
@@ -89,6 +90,8 @@ gst_xml_class_init (GstXMLClass * klass)
 
   parent_class = g_type_class_peek_parent (klass);
 
+  gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_xml_dispose);
+
   /* FIXME G_TYPE_POINTER should be GType of xmlNodePtr
    * (ensonic) can't be fixed, as libxml does not use GObject (unfortunately)
    */
@@ -114,6 +117,12 @@ gst_xml_init (GstXML * xml)
   xml->topelements = NULL;
 }
 
+static void
+gst_xml_dispose (GObject * object)
+{
+  g_list_free (GST_XML (object)->topelements);
+}
+
 /**
  * gst_xml_new:
  *