X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fgstreamer.git;a=blobdiff_plain;f=gst%2Fgstminiobject.c;h=d5c28baa1166a5250dfa637ca2cd51bf8b0ced43;hp=b55ff58228772812239d446537712e3243ba6667;hb=e6bd5b41935f125bf43e030dcb909c3537d33b31;hpb=94ba1cea88788fd3ad72fadcc2ceb7884ed6df50 diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c index b55ff58..d5c28ba 100644 --- a/gst/gstminiobject.c +++ b/gst/gstminiobject.c @@ -506,7 +506,12 @@ remove_notify (GstMiniObject * object, gint index) /* remove item */ priv_data->n_qdata--; - if (index != priv_data->n_qdata) { + if (priv_data->n_qdata == 0) { + /* we don't shrink but free when everything is gone */ + g_free (priv_data->qdata); + priv_data->qdata = NULL; + priv_data->n_qdata_len = 0; + } else if (index != priv_data->n_qdata) { QDATA (priv_data, index) = QDATA (priv_data, priv_data->n_qdata); } }