Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-03-02 17:43:44 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-03-03 04:28:42 +0300
commitd111f33008e578b23aa10d6ffe1787e9fcd4c4ee (patch)
treec49bbc56a4c8acd2049a0c0f40ee7f0d0c5ea166 /source/blender/editors/screen/workspace_edit.c
parent3fc2d122c45c9a1c2f85652b4930cf4aa6af6492 (diff)
WorkSpace: always change modes w/ the same active object
Diffstat (limited to 'source/blender/editors/screen/workspace_edit.c')
-rw-r--r--source/blender/editors/screen/workspace_edit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/screen/workspace_edit.c b/source/blender/editors/screen/workspace_edit.c
index 864cbbf5b05..b8ec1c12eb6 100644
--- a/source/blender/editors/screen/workspace_edit.c
+++ b/source/blender/editors/screen/workspace_edit.c
@@ -212,7 +212,12 @@ bool ED_workspace_change(
if (use_object_mode) {
/* weak, set it back so it's used when activating again. */
eObjectMode object_mode = workspace_old->object_mode;
- ED_object_mode_generic_exit_or_other_window(&eval_ctx_old, bmain->wm.first, workspace_old, scene, obact_old);
+ if (obact_old == obact_new) {
+ ED_object_mode_generic_exit(&eval_ctx_old, workspace_old, scene, obact_old);
+ }
+ else {
+ ED_object_mode_generic_exit_or_other_window(&eval_ctx_old, bmain->wm.first, workspace_old, scene, obact_old);
+ }
workspace_old->object_mode = object_mode;
ED_object_mode_generic_enter_or_other_window(C, workspace_new->object_mode);
}