[Bf-blender-cvs] [93989296b56] temp-object-multi-mode: Merge branch '28' into temp-object-multi-mode

Campbell Barton noreply at git.blender.org
Tue Apr 10 20:21:51 CEST 2018


Commit: 93989296b56c3f5dcc6b0d653265c4ff05173e3a
Author: Campbell Barton
Date:   Tue Apr 10 20:20:21 2018 +0200
Branches: temp-object-multi-mode
https://developer.blender.org/rB93989296b56c3f5dcc6b0d653265c4ff05173e3a

Merge branch '28' into temp-object-multi-mode

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



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

diff --cc source/blender/editors/include/ED_object.h
index 19189191b3b,83119062203..bfc3325d7eb
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@@ -119,12 -119,12 +119,13 @@@ struct Base *ED_object_add_duplicate(st
  void ED_object_parent(struct Object *ob, struct Object *parent, const int type, const char *substr);
  
  /* bitflags for enter/exit editmode */
- #define EM_FREEDATA     1
- #define EM_FREEUNDO     2
- #define EM_WAITCURSOR   4
- #define EM_DO_UNDO      8
- #define EM_IGNORE_LAYER 16
- #define EM_NO_CONTEXT 32
+ enum {
+ 	EM_FREEDATA         = (1 << 0),
+ 	EM_WAITCURSOR       = (1 << 1),
+ 	EM_DO_UNDO          = (1 << 2),
+ 	EM_IGNORE_LAYER     = (1 << 3),
++	EM_NO_CONTEXT       = (1 << 4),
+ };
  void ED_object_editmode_exit_ex(
          struct bContext *C, struct Scene *scene, struct Object *obedit, int flag);
  void ED_object_editmode_exit(struct bContext *C, int flag);
diff --cc source/blender/editors/object/object_edit.c
index 19e9eb1d6f4,bfe0194fe42..ae821db3b7c
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@@ -466,23 -463,10 +466,23 @@@ static int editmode_toggle_exec(bContex
  		}
  	}
  
 -	if (!is_mode_set)
 +	if (!is_mode_set) {
  		ED_object_editmode_enter(C, EM_WAITCURSOR);
 -	else
 +		if (obact->mode & mode_flag) {
 +			FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob)
 +			{
 +				if (ob != obact) {
 +					if (ob->flag & SELECT) {
 +						ED_object_editmode_enter_ex(scene, ob, EM_WAITCURSOR | EM_NO_CONTEXT);
 +					}
 +				}
 +			}
 +			FOREACH_SELECTED_OBJECT_END;
 +		}
 +	}
 +	else {
- 		ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR);  /* had EM_DO_UNDO but op flag calls undo too [#24685] */
+ 		ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR);  /* had EM_DO_UNDO but op flag calls undo too [#24685] */
 +	}
  	
  	ED_space_image_uv_sculpt_update(CTX_wm_manager(C), scene);



More information about the Bf-blender-cvs mailing list