@@ -884,9 +884,11 @@ static bScreen *screen_fullscreen_find_associated_normal_screen(const Main *bmai
|
||||
{
|
||||
for (bScreen *screen_iter = bmain->screens.first; screen_iter;
|
||||
screen_iter = screen_iter->id.next) {
|
||||
ScrArea *sa = screen_iter->areabase.first;
|
||||
if (sa && sa->full == screen) {
|
||||
return screen_iter;
|
||||
if ((screen_iter != screen) && ELEM(screen_iter->state, SCREENMAXIMIZED, SCREENFULL)) {
|
||||
ScrArea *sa = screen_iter->areabase.first;
|
||||
if (sa && sa->full == screen) {
|
||||
return screen_iter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -905,9 +907,7 @@ bScreen *screen_change_prepare(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (ELEM(screen_new->state, SCREENMAXIMIZED, SCREENFULL)) {
|
||||
screen_new = screen_fullscreen_find_associated_normal_screen(bmain, screen_new);
|
||||
}
|
||||
screen_new = screen_fullscreen_find_associated_normal_screen(bmain, screen_new);
|
||||
|
||||
/* check for valid winid */
|
||||
if (!(screen_new->winid == 0 || screen_new->winid == win->winid)) {
|
||||
|
||||
@@ -165,7 +165,9 @@ bool ED_workspace_change(WorkSpace *workspace_new, bContext *C, wmWindowManager
|
||||
}
|
||||
|
||||
screen_new = screen_change_prepare(screen_old, screen_new, bmain, C, win);
|
||||
BLI_assert(BKE_workspace_layout_screen_get(layout_new) == screen_new);
|
||||
if (BKE_workspace_layout_screen_get(layout_new) != screen_new) {
|
||||
layout_new = BKE_workspace_layout_find(workspace_new, screen_new);
|
||||
}
|
||||
|
||||
if (screen_new == NULL) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user