summaryrefslogtreecommitdiff
path: root/gst/gstxml.c
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2006-08-21 14:03:33 +0000
committerEdward Hervey <bilboed@bilboed.com>2006-08-21 14:03:33 +0000
commit9c590b226e5afd68b3f8f2d89086b66667b9cdc4 (patch)
treec3469ecb6ee9e4121d94ff3a5f9c88fd2ac00419 /gst/gstxml.c
parent87a78cc03db999902bd659cb2189dc8cc173653c (diff)
gst/gstxml.c: Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList.
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.
Diffstat (limited to 'gst/gstxml.c')
-rw-r--r--gst/gstxml.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gst/gstxml.c b/gst/gstxml.c
index 292626ad0..63529a859 100644
--- a/gst/gstxml.c
+++ b/gst/gstxml.c
@@ -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:
*