From 0f873a9ab469dfbca16f18e50a0f03f4ebb72efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 16 Nov 2005 12:23:02 +0000 Subject: [PATCH] gst/videoscale/gstvideoscale.c: Don't leak reference to pad parent. Original commit message from CVS: * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): Don't leak reference to pad parent. --- ChangeLog | 6 ++++++ gst/videoscale/gstvideoscale.c | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8ecb3aefdb..727d3be269 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-11-16 Tim-Philipp Müller + + * gst/videoscale/gstvideoscale.c: + (gst_videoscale_handle_src_event): + Don't leak reference to pad parent. + 2005-11-16 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop): diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c index bdf32df690..6e114eaf20 100644 --- a/gst/videoscale/gstvideoscale.c +++ b/gst/videoscale/gstvideoscale.c @@ -602,11 +602,15 @@ static gboolean gst_videoscale_handle_src_event (GstPad * pad, GstEvent * event) { GstVideoscale *videoscale; + gboolean ret; double a; GstStructure *structure; videoscale = GST_VIDEOSCALE (gst_pad_get_parent (pad)); + GST_DEBUG_OBJECT (videoscale, "handling %s event", + GST_EVENT_TYPE_NAME (event)); + switch (GST_EVENT_TYPE (event)) { case GST_EVENT_NAVIGATION: event = @@ -621,12 +625,16 @@ gst_videoscale_handle_src_event (GstPad * pad, GstEvent * event) gst_structure_set (structure, "pointer_y", G_TYPE_DOUBLE, a * videoscale->from_height / videoscale->to_height, NULL); } - return gst_pad_event_default (pad, event); + break; default: - GST_DEBUG_OBJECT (videoscale, "passing on non-NAVIGATION event %p", - event); - return gst_pad_event_default (pad, event); + break; } + + ret = gst_pad_event_default (pad, event); + + gst_object_unref (videoscale); + + return ret; } static gboolean