Commit: 5ec0745e49dd247db3cf13a53e7e20df44dfb458 Author: Antonioya Date: Sun Jul 29 16:13:19 2018 +0200 Branches: greasepencil-object https://developer.blender.org/rB5ec0745e49dd247db3cf13a53e7e20df44dfb458
Fix first edit mode change with TAB key The operator assumed the object editable was using always OB_MODE_EDIT, but for grease pencil the mode must be OB_MODE_GPENCIL_EDIT =================================================================== M source/blender/editors/object/object_edit.c =================================================================== diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index 43e745b23c5..48048319cb7 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -1613,26 +1613,10 @@ static int object_mode_set_exec(bContext *C, wmOperator *op) } } -#if 0 /* GPXX */ - if (gpd) { - /* GP Mode is not bound to a specific object. Therefore, - * we don't want it to be actually saved on any objects, - * as weirdness can happen if you select other objects, - * or load old files. - * - * Instead, we use the following 2 rules to ensure that - * the mode selector works as expected: - * 1) If there's no object, we want to enter editmode. - * (i.e. with no object, we're in object mode) - * 2) Otherwise, exit stroke editmode, so that we can - * enter another mode... - */ - if (!ob || (gpd->flag & GP_DATA_STROKE_EDITMODE)) { - WM_operator_name_call(C, "GPENCIL_OT_editmode_toggle", WM_OP_EXEC_REGION_WIN, NULL); - } + /* by default the operator assume is a mesh, but if gp object change mode */ + if ((ob != NULL) && (ob->type == OB_GPENCIL) && (mode == OB_MODE_EDIT)) { + mode = OB_MODE_GPENCIL_EDIT; } -#endif - if (!ob || !ED_object_mode_compat_test(ob, mode)) return OPERATOR_PASS_THROUGH; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs