diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-03-07 15:41:32 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-03-07 15:45:58 +0300 |
commit | 190159589840547c9b58b8d639a76313cee9478b (patch) | |
tree | 931089016e76532c63129387aec87e80cd83500f /source/blender/editors/space_clip | |
parent | a280867ac2ed924e25f72d020c004b83044a1f51 (diff) |
Tool System: use set/add/subtract for all lasso select operators
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r-- | source/blender/editors/space_clip/tracking_select.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/editors/space_clip/tracking_select.c b/source/blender/editors/space_clip/tracking_select.c index e25bf22db91..0c0fe60108f 100644 --- a/source/blender/editors/space_clip/tracking_select.c +++ b/source/blender/editors/space_clip/tracking_select.c @@ -622,10 +622,15 @@ static int clip_lasso_select_exec(bContext *C, wmOperator *op) int mcords_tot; const int (*mcords)[2] = WM_gesture_lasso_path_to_array(C, op, &mcords_tot); + if (mcords) { - bool select; + const eSelectOp sel_op = RNA_enum_get(op->ptr, "mode"); + const bool select = (sel_op != SEL_OP_SUB); + if (SEL_OP_USE_PRE_DESELECT(sel_op)) { + SpaceClip *sc = CTX_wm_space_clip(C); + ED_clip_select_all(sc, SEL_DESELECT, NULL); + } - select = !RNA_boolean_get(op->ptr, "deselect"); do_lasso_select_marker(C, mcords, mcords_tot, select); MEM_freeN((void *)mcords); @@ -653,7 +658,8 @@ void CLIP_OT_select_lasso(wmOperatorType *ot) ot->flag = OPTYPE_UNDO; /* properties */ - WM_operator_properties_gesture_lasso_select(ot); + WM_operator_properties_gesture_lasso(ot); + WM_operator_properties_select_operation_simple(ot); } /********************** circle select operator *********************/ |