diff options
author | Julian Eisel <julian@blender.org> | 2020-08-04 20:46:38 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-08-04 21:12:07 +0300 |
commit | 304767dcd3459d222d8c6011e913840df74a6cd5 (patch) | |
tree | 00bf40c9e8514ff234b0ea35770b680d5a1f5ab5 /source/blender/editors/screen/screen_intern.h | |
parent | 0d3b5a50689187e574355b925225e1f909144c77 (diff) |
Fix T78688: Crash changing workspace with specific fullscreen setup
When switching workspaces we need to have an unused screen layout that
we can activate. The other window now showed the only available screen
layout in fullscreen though.
Usually when there's no unused screen layout we duplicate an existing
one, but that code didn't respect the fullscreen case properly.
This also tries to clean up the logic a bit, but things are still rather
complicated to follow.
Changes in this code are always risky. Of course things worked fine in
my tests, but I wouldn't be surprised if something breaks.
Diffstat (limited to 'source/blender/editors/screen/screen_intern.h')
-rw-r--r-- | source/blender/editors/screen/screen_intern.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/screen/screen_intern.h b/source/blender/editors/screen/screen_intern.h index 2d42313d528..b96890c7db3 100644 --- a/source/blender/editors/screen/screen_intern.h +++ b/source/blender/editors/screen/screen_intern.h @@ -50,11 +50,11 @@ bScreen *screen_add(struct Main *bmain, const char *name, const rcti *rect); void screen_data_copy(bScreen *to, bScreen *from); void screen_new_activate_prepare(const wmWindow *win, bScreen *screen_new); void screen_change_update(struct bContext *C, wmWindow *win, bScreen *screen); -bScreen *screen_change_prepare(bScreen *screen_old, - bScreen *screen_new, - struct Main *bmain, - struct bContext *C, - wmWindow *win); +void screen_change_prepare(bScreen *screen_old, + bScreen *screen_new, + struct Main *bmain, + struct bContext *C, + wmWindow *win); ScrArea *area_split( const wmWindow *win, bScreen *screen, ScrArea *area, char dir, float fac, int merge); int screen_area_join(struct bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2); |