diff options
author | Edward Hervey <bilboed@bilboed.com> | 2006-08-21 14:03:33 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2006-08-21 14:03:33 +0000 |
commit | 9c590b226e5afd68b3f8f2d89086b66667b9cdc4 (patch) | |
tree | c3469ecb6ee9e4121d94ff3a5f9c88fd2ac00419 /gst/gstxml.c | |
parent | 87a78cc03db999902bd659cb2189dc8cc173653c (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.c | 9 |
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: * |