mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
GESTimeline: Properly iterate TrackObject lists when removing them
This commit is contained in:
parent
369d1d8cd8
commit
dafe3d2bb4
1 changed files with 4 additions and 2 deletions
|
@ -248,16 +248,18 @@ static void
|
|||
layer_object_removed_cb (GESTimelineLayer * layer, GESTimelineObject * object,
|
||||
GESTimeline * timeline)
|
||||
{
|
||||
GList *tmp;
|
||||
GList *tmp, *next;
|
||||
|
||||
GST_DEBUG ("TimelineObject %p removed from layer %p", object, layer);
|
||||
|
||||
/* Go over the object's track objects and figure out which one belongs to
|
||||
* the list of tracks we control */
|
||||
|
||||
for (tmp = object->trackobjects; tmp; tmp = g_list_next (tmp)) {
|
||||
for (tmp = object->trackobjects; tmp; tmp = next) {
|
||||
GESTrackObject *trobj = (GESTrackObject *) tmp->data;
|
||||
|
||||
next = g_list_next (tmp);
|
||||
|
||||
GST_DEBUG ("Trying to remove TrackObject %p", trobj);
|
||||
if (G_LIKELY (g_list_find_custom (timeline->tracks,
|
||||
(gconstpointer) trobj->track,
|
||||
|
|
Loading…
Reference in a new issue