diff --git a/ChangeLog b/ChangeLog index a40f9b2523..df53d54043 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-02-12 Jan Schmidt + + * sys/ximage/ximageutil.c: + Chain up in the finalize function for our custom + buffer sub-class. + Patch by: Sebastian Dröge + Fixes: #515706 + 2008-02-12 Sebastian Dröge * 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 diff --git a/sys/ximage/ximageutil.c b/sys/ximage/ximageutil.c index d340ac99c0..e0d2c32ced 100644 --- a/sys/ximage/ximageutil.c +++ b/sys/ximage/ximageutil.c @@ -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; }