diff options
Diffstat (limited to 'source/blender/editors/transform/transform_convert_sequencer.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert_sequencer.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/source/blender/editors/transform/transform_convert_sequencer.c b/source/blender/editors/transform/transform_convert_sequencer.c index ce93cf1a7fa..690d1ee8ca3 100644 --- a/source/blender/editors/transform/transform_convert_sequencer.c +++ b/source/blender/editors/transform/transform_convert_sequencer.c @@ -645,6 +645,11 @@ void createTransSeqData(TransInfo *t) return; } + /* Disable cursor wrapping for edge pan. */ + if (t->mode == TFM_TRANSLATION) { + t->flag |= T_NO_CURSOR_WRAP; + } + tc->custom.type.free_cb = freeSeqData; t->frame_side = transform_convert_frame_side_dir_get(t, (float)CFRA); @@ -741,15 +746,10 @@ static void view2d_edge_pan_loc_compensate(TransInfo *t, float loc_in[2], float const rctf *rect_src = &ts->initial_v2d_cur; const rctf *rect_dst = &t->region->v2d.cur; - copy_v2_v2(r_loc, loc_in); - /* Additional offset due to change in view2D rect. */ - BLI_rctf_transform_pt_v(rect_dst, rect_src, r_loc, r_loc); -} - -static void flushTransSeq(TransInfo *t) -{ - TransSeq *ts = (TransSeq *)TRANS_DATA_CONTAINER_FIRST_SINGLE(t)->custom.type.data; if (t->options & CTX_VIEW2D_EDGE_PAN) { + SpaceSeq *sseq = CTX_wm_space_seq(t->context); + sseq->flag |= SPACE_SEQ_CLAMP_SMOOTH; + if (t->state == TRANS_CANCEL) { UI_view2d_edge_pan_cancel(t->context, &ts->edge_pan); } @@ -763,6 +763,13 @@ static void flushTransSeq(TransInfo *t) } } + copy_v2_v2(r_loc, loc_in); + /* Additional offset due to change in view2D rect. */ + BLI_rctf_transform_pt_v(rect_dst, rect_src, r_loc, r_loc); +} + +static void flushTransSeq(TransInfo *t) +{ /* Editing null check already done */ ListBase *seqbasep = seqbase_active_get(t); |