Fix T100204: RMB select (with "Select Tool") causes edit-mesh conflict
When RMB select activated the selection tool, Alt-RMB would both tweak and loop-select. Fix/workaround this by passing though 'enumerate' unless the option can be used (when selecting objects or armatures).
This commit is contained in:
parent
8c59b93505
commit
ed55054e57
Notes:
blender-bot
2023-02-14 00:20:19 +01:00
Referenced by issue #100204, "Right Mouse Selection Action = Selection Tool" causes Tweak selection conflict
|
@ -2893,11 +2893,6 @@ static int view3d_select_exec(bContext *C, wmOperator *op)
|
|||
bool changed = false;
|
||||
int mval[2];
|
||||
|
||||
RNA_int_get_array(op->ptr, "location", mval);
|
||||
|
||||
view3d_operator_needs_opengl(C);
|
||||
BKE_object_update_select_id(CTX_data_main(C));
|
||||
|
||||
if (object_only) {
|
||||
obedit = NULL;
|
||||
obact = NULL;
|
||||
|
@ -2908,6 +2903,19 @@ static int view3d_select_exec(bContext *C, wmOperator *op)
|
|||
center = false;
|
||||
}
|
||||
|
||||
if (obedit && enumerate) {
|
||||
/* Enumerate makes no sense in edit-mode unless also explicitly picking objects or bones.
|
||||
* Pass the event through so the event may be handled by loop-select for e.g. see: T100204. */
|
||||
if (obedit->type != OB_ARMATURE) {
|
||||
return OPERATOR_PASS_THROUGH | OPERATOR_CANCELLED;
|
||||
}
|
||||
}
|
||||
|
||||
RNA_int_get_array(op->ptr, "location", mval);
|
||||
|
||||
view3d_operator_needs_opengl(C);
|
||||
BKE_object_update_select_id(CTX_data_main(C));
|
||||
|
||||
if (obedit && object_only == false) {
|
||||
if (obedit->type == OB_MESH) {
|
||||
changed = EDBM_select_pick(C, mval, ¶ms);
|
||||
|
|
Loading…
Reference in New Issue