pad: fix sticky event leak after sticky_events_foreach

events_foreach adds an extra ref when giving the event to the
user function. In case it was unrefed by the user, this extra ref
disappeared, but events_foreach still should unref again to
lose its own ref before removing the event from the array.

https://bugzilla.gnome.org/show_bug.cgi?id=722467
This commit is contained in:
Thiago Santos 2014-01-17 22:53:01 -03:00
parent ddc76753e0
commit c6f8d25557

View file

@ -544,6 +544,7 @@ restart:
if (G_UNLIKELY (ev->event != ev_ret.event)) {
if (G_UNLIKELY (ev_ret.event == NULL)) {
/* function unreffed and set the event to NULL, remove it */
gst_event_unref (ev->event);
g_array_remove_index (events, i);
len--;
cookie = ++pad->priv->events_cookie;