gst/debug/efence.c: Properly chain up finalize method. Fixes bug #515979.
authorSebastian Dröge <slomo@circular-chaos.org>
Tue, 12 Feb 2008 11:12:43 +0000 (11:12 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Tue, 12 Feb 2008 11:12:43 +0000 (11:12 +0000)
Original commit message from CVS:
* gst/debug/efence.c: (gst_fenced_buffer_finalize),
(gst_fenced_buffer_class_init):
Properly chain up finalize method. Fixes bug #515979.

ChangeLog
gst/debug/efence.c

index 84f7a5c..a40f9b2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/debug/efence.c: (gst_fenced_buffer_finalize),
+       (gst_fenced_buffer_class_init):
+       Properly chain up finalize method. Fixes bug #515979.
+
 2008-02-12  Jan Schmidt  <jan.schmidt@sun.com>
 
        * sys/ximage/gstximagesrc.c:
index d77afbb..90b98cb 100644 (file)
@@ -376,9 +376,13 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
     "access to data in the buffer is more likely to cause segmentation "
     "faults.  This allocation method is very similar to the debugging tool "
     "\"Electric Fence\".",
-    plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
+    plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
 
-     static void gst_fenced_buffer_finalize (GstFencedBuffer * buffer)
+
+static GstBufferClass *fenced_buffer_parent_class = NULL;
+
+static void
+gst_fenced_buffer_finalize (GstFencedBuffer * buffer)
 {
   GstFencedBuffer *fenced_buffer;
 
@@ -392,6 +396,9 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
         fenced_buffer->length);
     munmap (fenced_buffer->region, fenced_buffer->length);
   }
+
+  GST_MINI_OBJECT_CLASS (fenced_buffer_parent_class)->
+      finalize (GST_MINI_OBJECT (buffer));
 }
 
 static GstFencedBuffer *
@@ -498,6 +505,8 @@ gst_fenced_buffer_class_init (gpointer g_class, gpointer class_data)
 {
   GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (g_class);
 
+  fenced_buffer_parent_class = g_type_class_peek_parent (g_class);
+
   mini_object_class->finalize =
       (GstMiniObjectFinalizeFunction) gst_fenced_buffer_finalize;
   mini_object_class->copy = (GstMiniObjectCopyFunction) gst_fenced_buffer_copy;