diff options
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 5 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 8a3e948e4d2..3832b671b24 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -197,12 +197,13 @@ static void do_version_workspaces_after_lib_link(Main *bmain) WorkSpace *workspace = BLI_findstring(&bmain->workspaces, screen->id.name + 2, offsetof(ID, name) + 2); BLI_assert(workspace != NULL); - ListBase *layouts = BKE_workspace_layouts_get(workspace); + WorkSpaceLayout *layout = BKE_workspace_layout_find(workspace, win->screen); + BLI_assert(layout != NULL); win->workspace_hook = BKE_workspace_instance_hook_create(bmain); BKE_workspace_active_set(win->workspace_hook, workspace); - BKE_workspace_active_layout_set(win->workspace_hook, layouts->first); + BKE_workspace_active_layout_set(win->workspace_hook, layout); /* Move scene and view layer to window. */ Scene *scene = screen->scene; diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 7556a44da1a..502e5a92241 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1154,6 +1154,9 @@ ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const s sc = sa->full; /* the old screen to restore */ oldscreen = WM_window_get_active_screen(win); /* the one disappearing */ + BLI_assert(BKE_workspace_layout_screen_get(layout_old) != sc); + BLI_assert(BKE_workspace_layout_screen_get(layout_old)->state != SCREENNORMAL); + sc->state = SCREENNORMAL; sc->flag = oldscreen->flag; |