From c8b0d25794be3dc98375fb4042746bd31a4ba961 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 28 Sep 2011 10:05:56 +0000 Subject: [PATCH] fix [#28158] Image crop keyframes/fcurves do not 'stick' to strip --- .../editors/transform/transform_conversions.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 8dd877eaf1d..db9be369761 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2193,6 +2193,12 @@ void flushTransNodes(TransInfo *t) } /* *** SEQUENCE EDITOR *** */ + +/* commented _only_ because the meta may have animaion data which + * needs moving too [#28158] */ + +#define SEQ_TX_NESTED_METAS + void flushTransSeq(TransInfo *t) { ListBase *seqbasep= seq_give_editing(t->scene, FALSE)->seqbasep; /* Editing null check already done */ @@ -2218,9 +2224,13 @@ void flushTransSeq(TransInfo *t) switch (tdsq->sel_flag) { case SELECT: +#ifdef SEQ_TX_NESTED_METAS + if ((seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */ + seq->start= new_frame - tdsq->start_offset; +#else if (seq->type != SEQ_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */ seq->start= new_frame - tdsq->start_offset; - +#endif if (seq->depth==0) { seq->machine= (int)floor(td2d->loc[1] + 0.5f); CLAMP(seq->machine, 1, MAXSEQ); @@ -3827,6 +3837,11 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count else { /* Nested, different rules apply */ +#ifdef SEQ_TX_NESTED_METAS + *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL); + *count= 1; /* ignore the selection for nested */ + *recursive = (seq->type == SEQ_META ); +#else if (seq->type == SEQ_META) { /* Meta's can only directly be moved between channels since they * dont have their start and length set directly (children affect that) @@ -3841,6 +3856,7 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count *count= 1; /* ignore the selection for nested */ *recursive = 0; } +#endif } } }