diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-12-05 23:54:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-12-05 23:54:26 +0300 |
commit | 5d0c829194ed05fc1d855253b37f1672bfd2b7fc (patch) | |
tree | 93816e9b97df60874c5e1b165c9851fe322ade53 /source/blender/src/editseq.c | |
parent | e756b1cc7dc26fee9262739315b738c2b592e205 (diff) |
[#7805] VSE: "snap to current frame" doesn't work for startframe/endframe
Added this functionality.
Diffstat (limited to 'source/blender/src/editseq.c')
-rw-r--r-- | source/blender/src/editseq.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/src/editseq.c b/source/blender/src/editseq.c index b0523e90d70..75ac58285a2 100644 --- a/source/blender/src/editseq.c +++ b/source/blender/src/editseq.c @@ -3613,14 +3613,22 @@ void seq_snap(short event) /* also check metas */ WHILE_SEQ(ed->seqbasep) { - if(seq->flag & SELECT) { - if(sequence_is_free_transformable(seq)) seq->start= CFRA-seq->startofs+seq->startstill; + if (seq->flag & SELECT && sequence_is_free_transformable(seq)) { + if((seq->flag & (SEQ_LEFTSEL+SEQ_RIGHTSEL))==0) { + seq->start= CFRA-seq->startofs+seq->startstill; + } else { + if(seq->flag & SEQ_LEFTSEL) { + seq_tx_set_final_left(seq, CFRA); + } else { /* SEQ_RIGHTSEL */ + seq_tx_set_final_right(seq, CFRA); + } + transform_grab_xlimits(seq, seq->flag & SEQ_LEFTSEL, seq->flag & SEQ_RIGHTSEL); + } calc_sequence(seq); } } END_SEQ - /* test for effects and overlap */ WHILE_SEQ(ed->seqbasep) { if(seq->flag & SELECT) { |