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>2015-06-08 16:59:32 +0300
committerJulian Eisel <eiseljulian@gmail.com>2015-06-08 17:04:00 +0300
commit4f9494715719d563d7f45210e45aa3056535a09b (patch)
tree4c19fc6abcf46b17d493f87221623537c280fe07 /source/blender/editors/screen/screen_edit.c
parentbcfe38aa037e2fcf1c41a3a85895c1482e21e0aa (diff)
Fix T44976: 3D View turns into an Image Editor after saving render
result Was a case of two stacked temporary fullscreens, so a quite extreme situation.
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index d9bd9cc4f51..0c40c833c0d 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1763,12 +1763,18 @@ ScrArea *ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
return newsa;
}
-void ED_screen_full_prevspace(bContext *C, ScrArea *sa)
+/**
+ * \a was_prev_temp for the case previous space was a temporary fullscreen as well
+ */
+void ED_screen_full_prevspace(bContext *C, ScrArea *sa, const bool was_prev_temp)
{
if (sa->flag & AREA_FLAG_STACKED_FULLSCREEN) {
/* stacked fullscreen -> only go back to previous screen and don't toggle out of fullscreen */
ED_area_prevspace(C, sa);
- sa->flag &= ~AREA_FLAG_TEMP_TYPE;
+ /* only clear if previous space wasn't a temp fullscreen as well */
+ if (!was_prev_temp) {
+ sa->flag &= ~AREA_FLAG_TEMP_TYPE;
+ }
}
else {
ED_screen_restore_temp_type(C, sa);
@@ -1803,7 +1809,7 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
if (sl->next) {
if (sa->flag & AREA_FLAG_TEMP_TYPE) {
- ED_screen_full_prevspace(C, sa);
+ ED_screen_full_prevspace(C, sa, false);
}
else {
ED_screen_state_toggle(C, win, sa, state);