[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