diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2018-11-24 21:20:31 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2018-11-24 21:20:31 +0300 |
commit | 23d66c5d609ad9d113214ab0ec99668dded35ac3 (patch) | |
tree | 94158131e4d74cfaca862ca1f476f6c00f9a043f /source | |
parent | 0c8b0771f26120d557c80df1a30905c8228fd702 (diff) |
Fix T58022: Changing workspace may change layout of User Pref window
Logic to update child windows on workspace changes should simply ignore
temporary child windows. Users opened those for a specific purpose (i.e. edit
user preferences or show render result). Blender should not come in and
repurpose it.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 5 | ||||
m--------- | source/tools | 0 |
2 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index df20dbd8055..b644457e593 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -2230,6 +2230,11 @@ void WM_window_set_active_workspace(bContext *C, wmWindow *win, WorkSpace *works for (wmWindow *win_child = wm->windows.first; win_child; win_child = win_child->next) { if (win_child->parent == win_parent) { + bScreen *screen = WM_window_get_active_screen(win_child); + /* Don't change temporary screens, they only serve a single purpose. */ + if (screen->temp) { + continue; + } ED_workspace_change(workspace, C, wm, win_child); } } diff --git a/source/tools b/source/tools -Subproject 5162393c104d6d5f0314183a084875fff68f28b +Subproject 30d4611eacb1c5b27a5e9d2432cb12843054abc |