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:
parent
7a4b3d2287
commit
2bbabbc739
Notes:
blender-bot
2023-02-14 06:45:14 +01:00
Referenced by issue #100749, Blender LTS: Maintenance Task 3.3 Referenced by issue #102801, Regression: Empty metasequence sliding away while moving
|
@ -138,9 +138,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);
|
||||
|
|
Loading…
Reference in New Issue