Use g_queue_clear_full() to release the child list
instead of iterating over the list twice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
do {
ires = gst_iterator_foreach (it, bin_deep_iterator_foreach, &elements);
if (ires != GST_ITERATOR_DONE) {
- g_queue_foreach (&elements, (GFunc) gst_object_unref, NULL);
- g_queue_clear (&elements);
+ g_queue_clear_full (&elements, (GDestroyNotify) gst_object_unref);
}
if (ires == GST_ITERATOR_RESYNC)
gst_iterator_resync (it);