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 <eiseljulian@gmail.com>2019-09-19 21:18:53 +0300
committerJulian Eisel <eiseljulian@gmail.com>2019-09-19 21:21:42 +0300
commit4a5af65fe9e3728f5ed2945044a957bafea736b3 (patch)
tree4518bd6f31ed117beb2aae7dd40f2452a056a4f0 /source/blender/editors/screen/screen_edit.c
parent3791d7abfd11a0c7f2fd4c1462f281a290db5d38 (diff)
Fix T70048: Assert when cancelling Append window
If the file browser was opened from an existing file browser editor (using File -> Append would make the mouse hover the file browser in the Shading workspace), we need special handling for closing the fullscreen area. This change brings back the old way of handling fullscreen closing.
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 20920dc6f84..6b3fbb79cb4 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1371,9 +1371,23 @@ ScrArea *ED_screen_temp_space_open(bContext *C,
sa = CTX_wm_area(C);
}
break;
- case USER_TEMP_SPACE_DISPLAY_FULLSCREEN:
- sa = ED_screen_full_newspace(C, CTX_wm_area(C), (int)space_type);
+ case USER_TEMP_SPACE_DISPLAY_FULLSCREEN: {
+ ScrArea *ctx_sa = CTX_wm_area(C);
+
+ if (ctx_sa->full) {
+ sa = ctx_sa;
+ ED_area_newspace(C, ctx_sa, space_type, true);
+ /* we already had a fullscreen here -> mark new space as a stacked fullscreen */
+ sa->flag |= (AREA_FLAG_STACKED_FULLSCREEN | AREA_FLAG_TEMP_TYPE);
+ }
+ else if (ctx_sa->spacetype == space_type) {
+ sa = ED_screen_state_toggle(C, CTX_wm_window(C), ctx_sa, SCREENMAXIMIZED);
+ }
+ else {
+ sa = ED_screen_full_newspace(C, ctx_sa, (int)space_type);
+ }
break;
+ }
}
return sa;