Fix T102801: Empty metasequence sliding away while moving

Meta strip position relies on strips within. When meta strip is empty,
update function, that would normally update it's position returns early
and this causes translaton to behave erratically.

When strip is empty, treat it as normal strip and move its start frame
as with other strip types.
This commit is contained in:
Richard Antalik
2022-11-28 18:23:29 +01:00
parent 9eb1d62ba6
commit 33ce83984d

View File

@@ -117,9 +117,10 @@ void SEQ_transform_translate_sequence(Scene *evil_scene, Sequence *seq, int delt
return;
}
/* Meta strips requires special handling: their content is to be translated, and then frame range
* of the meta is to be updated for the updated content. */
if (seq->type == SEQ_TYPE_META) {
/* Meta strips requires their content is to be translated, and then frame range of the meta is
* updated based on nested strips. Thiw won't work for empty metas, so they can be treated as
* normal strip. */
if (seq->type == SEQ_TYPE_META && !BLI_listbase_is_empty(&seq->seqbase)) {
Sequence *seq_child;
for (seq_child = seq->seqbase.first; seq_child; seq_child = seq_child->next) {
SEQ_transform_translate_sequence(evil_scene, seq_child, delta);