diff options
Diffstat (limited to 'source/blender/editors/transform/transform_convert_sequencer.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert_sequencer.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/source/blender/editors/transform/transform_convert_sequencer.c b/source/blender/editors/transform/transform_convert_sequencer.c index deaf3689ceb..226f460de9a 100644 --- a/source/blender/editors/transform/transform_convert_sequencer.c +++ b/source/blender/editors/transform/transform_convert_sequencer.c @@ -635,7 +635,7 @@ BLI_INLINE void trans_update_seq(Scene *sce, Sequence *seq, int old_start, int s } } -void flushTransSeq(TransInfo *t) +static void flushTransSeq(TransInfo *t) { /* Editing null check already done */ ListBase *seqbasep = BKE_sequencer_editing_get(t->scene, false)->seqbasep; @@ -770,6 +770,31 @@ void flushTransSeq(TransInfo *t) } } +/* helper for recalcData() - for sequencer transforms */ +void recalcData_sequencer(TransInfo *t) +{ + TransData *td; + int a; + Sequence *seq_prev = NULL; + + TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); + + for (a = 0, td = tc->data; a < tc->data_len; a++, td++) { + TransDataSeq *tdsq = (TransDataSeq *)td->extra; + Sequence *seq = tdsq->seq; + + if (seq != seq_prev) { + BKE_sequence_invalidate_cache_composite(t->scene, seq); + } + + seq_prev = seq; + } + + DEG_id_tag_update(&t->scene->id, ID_RECALC_SEQUENCER_STRIPS); + + flushTransSeq(t); +} + int transform_convert_sequencer_get_snap_bound(TransInfo *t) { TransSeq *ts = TRANS_DATA_CONTAINER_FIRST_SINGLE(t)->custom.type.data; |