[Bf-blender-cvs] [14c252b73bc] greasepencil-object: Fix problem with Tab key

Antonio Vazquez noreply at git.blender.org
Sun Jun 11 20:16:09 CEST 2017


Commit: 14c252b73bcc5e34ace1afa46983119244e5a387
Author: Antonio Vazquez
Date:   Sun Jun 11 20:16:01 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB14c252b73bcc5e34ace1afa46983119244e5a387

Fix problem with Tab key

The Tab key must enable Edit mode and back to previous mode

===================================================================

M	source/blender/editors/gpencil/gpencil_ops.c
M	source/blender/editors/object/object_edit.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index 7c5d0072c97..c5b34a01e7b 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -237,7 +237,7 @@ static void ed_keymap_gpencil_editing(wmKeyConfig *keyconf)
 	
 	/* Exit EditMode */
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, 0, 0);
-	RNA_int_set(kmi->ptr, "back", 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, KM_CTRL, 0);
 	RNA_int_set(kmi->ptr, "back", 1);
@@ -342,9 +342,11 @@ static void ed_keymap_gpencil_editing(wmKeyConfig *keyconf)
 	ED_keymap_proportional_editmode(keyconf, keymap, true);
 
 	/* Enter PaintMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", DKEY, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", DKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 	/* Enter SculptMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", EKEY, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", EKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 
 }
 
@@ -381,8 +383,8 @@ static void ed_keymap_gpencil_painting(wmKeyConfig *keyconf)
 	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
 
 	/* Exit PaintMode */
-	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", TABKEY, KM_PRESS, 0, 0);
-	RNA_int_set(kmi->ptr, "back", 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", TABKEY, KM_PRESS, KM_CTRL, 0);
 	RNA_int_set(kmi->ptr, "back", 1);
@@ -413,9 +415,11 @@ static void ed_keymap_gpencil_painting(wmKeyConfig *keyconf)
 	RNA_int_set(kmi->ptr, "index", 9);
 
 	/* Enter EditMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 	/* Enter SculptMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", EKEY, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", EKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 }
 
 /* Stroke Sculpting Keymap - Only when sculptmode is enabled */
@@ -428,8 +432,8 @@ static void ed_keymap_gpencil_sculpting(wmKeyConfig *keyconf)
 	keymap->poll = gp_stroke_sculptmode_poll;
 
 	/* Exit SculptMode */
-	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", TABKEY, KM_PRESS, 0, 0);
-	RNA_int_set(kmi->ptr, "back", 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 	
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_sculptmode_toggle", TABKEY, KM_PRESS, KM_CTRL, 0);
 	RNA_int_set(kmi->ptr, "back", 1);
@@ -461,9 +465,11 @@ static void ed_keymap_gpencil_sculpting(wmKeyConfig *keyconf)
 	RNA_int_set(kmi->ptr, "index", 8);
 
 	/* Enter EditMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_editmode_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 	/* Enter PaintMode */
-	WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", DKEY, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_paintmode_toggle", DKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "back", 1);
 }
 
 /* ==================== */
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index b3ee245f8e7..516db440ec3 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1564,14 +1564,17 @@ static int object_mode_set_exec(bContext *C, wmOperator *op)
 				return OPERATOR_FINISHED;
 			}
 			if (mode == OB_MODE_GPENCIL_EDIT) {
+				ob->restore_mode = ob->mode;
 				WM_operator_name_call(C, "GPENCIL_OT_editmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
 				return OPERATOR_FINISHED;
 			}
 			if (mode == OB_MODE_GPENCIL_PAINT) {
+				ob->restore_mode = ob->mode;
 				WM_operator_name_call(C, "GPENCIL_OT_paintmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
 				return OPERATOR_FINISHED;
 			}
 			if (mode == OB_MODE_GPENCIL_SCULPT) {
+				ob->restore_mode = ob->mode;
 				WM_operator_name_call(C, "GPENCIL_OT_sculptmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
 				return OPERATOR_FINISHED;
 			}




More information about the Bf-blender-cvs mailing list