From 23d66c5d609ad9d113214ab0ec99668dded35ac3 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Sat, 24 Nov 2018 19:20:31 +0100 Subject: 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. --- source/blender/windowmanager/intern/wm_window.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/windowmanager/intern/wm_window.c') 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); } } -- cgit v1.2.3