diff --git a/ges/ges-timeline-element.c b/ges/ges-timeline-element.c index d1ef1975da..0442082303 100644 --- a/ges/ges-timeline-element.c +++ b/ges/ges-timeline-element.c @@ -323,7 +323,7 @@ ges_timeline_element_set_timeline (GESTimelineElement * self, GST_DEBUG_OBJECT (self, "set timeline to %" GST_PTR_FORMAT, timeline); - if (G_UNLIKELY (self->timeline != NULL)) + if (timeline != NULL && G_UNLIKELY (self->timeline != NULL)) goto had_timeline; self->timeline = timeline; diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index 8530daca76..fbb4937d6c 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -2031,6 +2031,11 @@ trackelement_priority_changed_cb (GESTrackElement * child, GSequence *by_layer_sequence = g_hash_table_lookup (priv->by_layer, layer); + GST_DEBUG_OBJECT (child, "Moved from layer %" GST_PTR_FORMAT + "(prio %d) to" " %" GST_PTR_FORMAT " (prio %d)", layer, + ges_layer_get_priority (layer), iters->layer, + ges_layer_get_priority (iters->layer)); + g_sequence_remove (iters->iter_by_layer); iters->iter_by_layer = g_sequence_insert_sorted (by_layer_sequence, child,