projects
/
platform
/
upstream
/
gstreamer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
miniobject: free qdata array when the last qdata is removed
[platform/upstream/gstreamer.git]
/
gst
/
gstminiobject.c
diff --git
a/gst/gstminiobject.c
b/gst/gstminiobject.c
index
b55ff58
..
d5c28ba
100644
(file)
--- a/
gst/gstminiobject.c
+++ b/
gst/gstminiobject.c
@@
-506,7
+506,12
@@
remove_notify (GstMiniObject * object, gint index)
/* remove item */
priv_data->n_qdata--;
/* 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);
}
}
QDATA (priv_data, index) = QDATA (priv_data, priv_data->n_qdata);
}
}