playback: Fix broken GList modification
authorEdward Hervey <bilboed@bilboed.com>
Thu, 26 Feb 2015 11:06:23 +0000 (12:06 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 26 Feb 2015 11:08:49 +0000 (12:08 +0100)
When we modify a GList (via g_list_delete_link), always reassign the
new head to the original GList. Otherwise we end up with
filtered_errors being corrupt (the head might have been the element
removed)

gst/playback/gstdecodebin2.c

index 6e6b1be..94ebda9 100644 (file)
@@ -1916,7 +1916,7 @@ remove_error_filter (GstDecodeBin * dbin, GstElement * element,
       if (error)
         gst_message_replace (error, msg);
       gst_message_unref (msg);
-      l = g_list_delete_link (dbin->filtered_errors, l);
+      l = dbin->filtered_errors = g_list_delete_link (dbin->filtered_errors, l);
     } else {
       l = l->next;
     }