From 7313916ae85ae7e7acdeee6a37b5dc9aa6d51734 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Sat, 23 Mar 2013 08:14:55 +0100 Subject: [PATCH] timeline: Remove TrackElement from its container on GESTimelineLayer::"clip-removed" .... when the Track is NULL --- ges/ges-timeline.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index bd00934..2eef9e4 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -1954,12 +1954,15 @@ layer_object_removed_cb (GESTimelineLayer * layer, GESClip * clip, trackelements = ges_container_get_children (GES_CONTAINER (clip)); for (tmp = trackelements; tmp; tmp = tmp->next) { GESTrackElement *track_element = (GESTrackElement *) tmp->data; + GESTrack *track = ges_track_element_get_track (track_element); GST_DEBUG_OBJECT (timeline, "Trying to remove TrackElement %p", track_element); - if (G_LIKELY (g_list_find_custom (timeline->priv->priv_tracks, - ges_track_element_get_track (track_element), - (GCompareFunc) custom_find_track))) { + + /* FIXME Check if we should actually check that we control the + * track in the new management of TrackElement context */ + if (G_LIKELY (g_list_find_custom (timeline->priv->priv_tracks, track, + (GCompareFunc) custom_find_track) || track == NULL)) { GST_DEBUG ("Belongs to one of the tracks we control"); ges_container_remove (GES_CONTAINER (clip), -- 2.7.4