Original commit message from CVS:
We need to store the new GList. Else, this causes problems if we remove the first entry from the list (unreferenced pointer). Also, we need to destroy the unused entry afterwards (memleak).
if (lentry->propid == propid) {
found = TRUE;
- g_list_delete_link (props->properties, current);
+ props->properties = g_list_delete_link (props->properties, current);
+ gst_props_entry_destroy (lentry);
}
else if (GST_PROPS_ENTRY_IS_VARIABLE (lentry)) {
GST_PROPS_FLAG_UNSET (props, GST_PROPS_FIXED);