diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-19 09:58:49 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-19 09:58:49 +0300 |
commit | 81673f5ab7f4d404b9b263bac88e8b271b0ccdac (patch) | |
tree | 9d2e49518bf49885c18776d651071506a7c18c4a | |
parent | 9a301978bdf0a7bab8dedf62e8c623aa33e96177 (diff) |
Fix T54712: Undo w/ multi-edit failed
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 2 | ||||
-rw-r--r-- | source/blender/editors/object/object_edit.c | 16 |
2 files changed, 5 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index addf84224ac..53ca20e3c2a 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -511,7 +511,7 @@ bool BKE_object_is_in_editmode(const Object *ob) bool BKE_object_is_in_editmode_and_selected(const Object *ob) { - if ((ob->flag & SELECT) && (BKE_object_is_in_editmode(ob))) { + if ((ob->base_flag & BASE_SELECTED) && (BKE_object_is_in_editmode(ob))) { return true; } return false; diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index 248501a7baf..2550c4006f2 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -468,9 +468,7 @@ static int editmode_toggle_exec(bContext *C, wmOperator *op) FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob) { if ((ob != obact) && (ob->type == obact->type)) { - if (ob->flag & SELECT) { - ED_object_editmode_enter_ex(scene, ob, EM_WAITCURSOR | EM_NO_CONTEXT); - } + ED_object_editmode_enter_ex(scene, ob, EM_WAITCURSOR | EM_NO_CONTEXT); } } FOREACH_SELECTED_OBJECT_END; @@ -482,9 +480,7 @@ static int editmode_toggle_exec(bContext *C, wmOperator *op) FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob) { if ((ob != obact) && (ob->type == obact->type)) { - if (ob->flag & SELECT) { - ED_object_editmode_exit_ex(NULL, scene, ob, EM_FREEDATA | EM_WAITCURSOR); - } + ED_object_editmode_exit_ex(NULL, scene, ob, EM_FREEDATA | EM_WAITCURSOR); } } FOREACH_SELECTED_OBJECT_END; @@ -560,9 +556,7 @@ static int posemode_exec(bContext *C, wmOperator *op) (ob->type == OB_ARMATURE) && (ob->mode & mode_flag)) { - if (ob->flag & SELECT) { - ED_object_posemode_exit_ex(bmain, ob); - } + ED_object_posemode_exit_ex(bmain, ob); } } FOREACH_SELECTED_OBJECT_END; @@ -580,9 +574,7 @@ static int posemode_exec(bContext *C, wmOperator *op) (ob->mode == OB_MODE_OBJECT) && (!ID_IS_LINKED(ob))) { - if (ob->flag & SELECT) { - ED_object_posemode_enter_ex(bmain, ob); - } + ED_object_posemode_enter_ex(bmain, ob); } } FOREACH_SELECTED_OBJECT_END; |