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-03 08:39:57 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-03-03 08:39:57 +0300
commit8d575899a17f12681beb9bdb3f7d3005d6d12103 (patch)
treecfe94562589ae081d939623196373e296a270199 /source/blender/editors/screen/workspace_edit.c
parentb8f7538348e6ff37d960cd933562d1f5ff15241c (diff)
WorkSpace: use existing mode data w/ scene-switch
Check if mode data exists before attempting to change the modes.
Diffstat (limited to 'source/blender/editors/screen/workspace_edit.c')
-rw-r--r--source/blender/editors/screen/workspace_edit.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/source/blender/editors/screen/workspace_edit.c b/source/blender/editors/screen/workspace_edit.c
index 8a6c8e8628e..2b28f61f901 100644
--- a/source/blender/editors/screen/workspace_edit.c
+++ b/source/blender/editors/screen/workspace_edit.c
@@ -212,14 +212,10 @@ 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;
- 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);
- }
+ 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);
+ ED_workspace_object_mode_sync_from_object(bmain->wm.first, workspace_old, obact_old);
+ ED_object_mode_generic_enter_or_other_window(C, NULL, workspace_new->object_mode);
}
else {
if (obact_new == NULL) {