[Bf-blender-cvs] [535fec06612] blender2.8: Workspaces: change behavior when window layout for workspace is missing.
Brecht Van Lommel
noreply at git.blender.org
Wed Jul 4 18:41:23 CEST 2018
Commit: 535fec06612799c2355525fa5332780e2472caac
Author: Brecht Van Lommel
Date: Wed Jul 4 18:22:29 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB535fec06612799c2355525fa5332780e2472caac
Workspaces: change behavior when window layout for workspace is missing.
When switching the workspace in a window that does not yet have a layout
for the newly active workspace, we now duplicate the layout from the
previously active workspace. Previously it duplicated the layout from
the first window in the newly active workspace.
===================================================================
M source/blender/editors/screen/workspace_edit.c
===================================================================
diff --git a/source/blender/editors/screen/workspace_edit.c b/source/blender/editors/screen/workspace_edit.c
index 705d8992900..e54a764faa7 100644
--- a/source/blender/editors/screen/workspace_edit.c
+++ b/source/blender/editors/screen/workspace_edit.c
@@ -112,6 +112,7 @@ static WorkSpaceLayout *workspace_change_get_new_layout(
Main *bmain, WorkSpace *workspace_new, wmWindow *win)
{
/* ED_workspace_duplicate may have stored a layout to activate once the workspace gets activated. */
+ WorkSpaceLayout *layout_old = WM_window_get_active_layout(win);
WorkSpaceLayout *layout_new;
bScreen *screen_new;
@@ -132,8 +133,8 @@ static WorkSpaceLayout *workspace_change_get_new_layout(
workspace_new, layout_new, workspace_change_find_new_layout_cb,
NULL, false);
if (!layout_temp) {
- /* fallback solution: duplicate layout */
- layout_temp = ED_workspace_layout_duplicate(bmain, workspace_new, layout_new, win);
+ /* fallback solution: duplicate layout from old workspace */
+ layout_temp = ED_workspace_layout_duplicate(bmain, workspace_new, layout_old, win);
}
layout_new = layout_temp;
}
More information about the Bf-blender-cvs
mailing list