fix [#28158] Image crop keyframes/fcurves do not 'stick' to strip

This commit is contained in:
Campbell Barton 2011-09-28 10:05:56 +00:00
parent 450ea01002
commit c8b0d25794

@ -2193,6 +2193,12 @@ void flushTransNodes(TransInfo *t)
} }
/* *** SEQUENCE EDITOR *** */ /* *** 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) void flushTransSeq(TransInfo *t)
{ {
ListBase *seqbasep= seq_give_editing(t->scene, FALSE)->seqbasep; /* Editing null check already done */ 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) { switch (tdsq->sel_flag) {
case SELECT: 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 */ 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; seq->start= new_frame - tdsq->start_offset;
#endif
if (seq->depth==0) { if (seq->depth==0) {
seq->machine= (int)floor(td2d->loc[1] + 0.5f); seq->machine= (int)floor(td2d->loc[1] + 0.5f);
CLAMP(seq->machine, 1, MAXSEQ); CLAMP(seq->machine, 1, MAXSEQ);
@ -3827,6 +3837,11 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
else { else {
/* Nested, different rules apply */ /* 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) { if (seq->type == SEQ_META) {
/* Meta's can only directly be moved between channels since they /* Meta's can only directly be moved between channels since they
* dont have their start and length set directly (children affect that) * 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 */ *count= 1; /* ignore the selection for nested */
*recursive = 0; *recursive = 0;
} }
#endif
} }
} }
} }