Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-02-07 16:47:17 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-02-07 16:47:17 +0400
commitc4542acc8b690a4a3dc558f3c19d4a42f9353400 (patch)
treea81341fc58f97decd349e31ed4f9dd93f3e5fe3a /source/blender/editors/mesh
parent77ab18ebc345d670c65a4f5d2aa65c6aa6d13414 (diff)
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.
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/loopcut.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/mesh/loopcut.c b/source/blender/editors/mesh/loopcut.c
index 6ff62b16bde..c317eabd48a 100644
--- a/source/blender/editors/mesh/loopcut.c
+++ b/source/blender/editors/mesh/loopcut.c
@@ -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;
}