Fix #30091: Shift-Ctrl-Alt-RMB problem in face mode

Select Edge Rings with extension policy wasn't working properly in
face selection mode because it's used to call Select Loop operator
because edge rings can be selected only in verts/edges mode.
On this call of another operator extension policy wasn't set to
newly calling operator.
Now Select Edge Rings still calls Select Loops (which is a bit nasty)
but properly sets extension flag.
This commit is contained in:
Sergey Sharybin
2012-02-07 12:47:17 +00:00
parent 77ab18ebc3
commit c4542acc8b

View File

@@ -380,8 +380,16 @@ static int ringsel_invoke (bContext *C, wmOperator *op, wmEvent *evt)
lcd = op->customdata;
if (lcd->em->selectmode == SCE_SELECT_FACE) {
PointerRNA props_ptr;
int extend = RNA_boolean_get(op->ptr, "extend");
ringsel_exit(op);
WM_operator_name_call(C, "MESH_OT_loop_select", WM_OP_INVOKE_REGION_WIN, NULL);
WM_operator_properties_create(&props_ptr, "MESH_OT_loop_select");
RNA_boolean_set(&props_ptr, "extend", extend);
WM_operator_name_call(C, "MESH_OT_loop_select", WM_OP_INVOKE_REGION_WIN, &props_ptr);
WM_operator_properties_free(&props_ptr);
return OPERATOR_CANCELLED;
}