Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2021-02-01 02:40:15 +0300
committerJulian Eisel <julian@blender.org>2021-02-01 14:48:05 +0300
commit5c72a4d45269638c7a8f72151db6cfd2b8895c35 (patch)
treef1dee367eaf437545d561fa58238c3588d921977 /source/blender/editors/screen/screen_edit.c
parentfa2ffb1a2f75f4ece4914bf5393d95f1b41e137a (diff)
Fix T84780: Corrupt screen layout when loading file with area full-screen
This could happen with files saved before ef4aa42ea4ff, so before global areas were written to .blend files. We would just always add the top- and status-bar, even though the screen wasn't supposed to have them. I'm not entirely sure what caused the further issues observed there, most code should probably handle the case fine still. But apparently something didn't. Steps to reproduce were: * Open Blender from before ef4aa42ea4ff (e.g 2.91 release) * In 3D View, View > Area > Toggle Fullscreen Area * Save the file * Open the saved file (can be in newer version too) The fullscreen is corrupt now, especially noticable after duplicating the workspace.
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index be52874ed0b..0868d5a5fe9 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -871,6 +871,11 @@ static void screen_global_area_refresh(wmWindow *win,
const short height_min,
const short height_max)
{
+ /* Full-screens shouldn't have global areas. Don't touch them. */
+ if (screen->state == SCREENFULL) {
+ return;
+ }
+
ScrArea *area = NULL;
LISTBASE_FOREACH (ScrArea *, area_iter, &win->global_areas.areabase) {
if (area_iter->spacetype == space_type) {