sys/ximage/ximageutil.c: Chain up in the finalize function for our custom buffer...
authorSebastian Dröge <slomo@circular-chaos.org>
Tue, 12 Feb 2008 11:14:36 +0000 (11:14 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Tue, 12 Feb 2008 11:14:36 +0000 (11:14 +0000)
Original commit message from CVS:
* sys/ximage/ximageutil.c:
Chain up in the finalize function for our custom
buffer sub-class.
Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
Fixes: #515706

ChangeLog
sys/ximage/ximageutil.c

index a40f9b2..df53d54 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-12  Jan Schmidt  <jan.schmidt@sun.com>
+
+       * sys/ximage/ximageutil.c:
+       Chain up in the finalize function for our custom
+       buffer sub-class.
+       Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
+       Fixes: #515706
+
 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * gst/debug/efence.c: (gst_fenced_buffer_finalize),
@@ -8,7 +16,7 @@
 
        * sys/ximage/gstximagesrc.c:
        Free allocated Damage memory before closing our connection to the
-       X server. Fixes: #515706
+       X server. Partially fixes: #515706
 
 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
 
index d340ac9..e0d2c32 100644 (file)
@@ -296,6 +296,8 @@ ximageutil_calculate_pixel_aspect_ratio (GstXContext * xcontext)
       gst_value_get_fraction_denominator (xcontext->par));
 }
 
+static GstBufferClass *ximagesrc_buffer_parent_class = NULL;
+
 static void
 gst_ximagesrc_buffer_finalize (GstXImageSrcBuffer * ximage)
 {
@@ -313,6 +315,10 @@ gst_ximagesrc_buffer_finalize (GstXImageSrcBuffer * ximage)
     ximage->return_func (parent, ximage);
 
 beach:
+
+  GST_MINI_OBJECT_CLASS (ximagesrc_buffer_parent_class)->
+      finalize (GST_MINI_OBJECT (ximage));
+
   return;
 }
 
@@ -339,6 +345,8 @@ gst_ximagesrc_buffer_class_init (gpointer g_class, gpointer class_data)
 {
   GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (g_class);
 
+  ximagesrc_buffer_parent_class = g_type_class_peek_parent (g_class);
+
   mini_object_class->finalize = (GstMiniObjectFinalizeFunction)
       gst_ximagesrc_buffer_finalize;
 }