From f7ac18c13825894ece7e829fbb3b3bb0265a71c5 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 30 Aug 2013 18:45:31 -0400 Subject: [PATCH] timeline: No autotrans between elements in same toplevel container This makes no sense, we ended up creating/removing tons of transition while moving groups --- ges/ges-timeline.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index c528775c17..c4954e4a5c 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -834,6 +834,8 @@ _create_transitions_on_layer (GESTimeline * timeline, GESLayer * layer, guint *start_or_end = g_sequence_get (iter); GESTrackElement *next = g_hash_table_lookup (timeline->priv->by_object, start_or_end); + GESTimelineElement *toplevel = + ges_timeline_element_get_toplevel_parent (GES_TIMELINE_ELEMENT (next)); /* Only object that are in that layer and track */ if (_ges_track_element_get_layer_priority (next) != layer_prio || @@ -860,7 +862,9 @@ _create_transitions_on_layer (GESTimeline * timeline, GESLayer * layer, GESTrackElement *prev = tmp->data; - if (ctrack != ges_track_element_get_track (prev)) + if (ctrack != ges_track_element_get_track (prev) || + ges_timeline_element_get_toplevel_parent (GES_TIMELINE_ELEMENT (prev)) + == toplevel) continue; transition_duration = (_START (prev) + _DURATION (prev)) - _START (next);