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>2016-02-29 18:18:42 +0300
committerJulian Eisel <eiseljulian@gmail.com>2016-02-29 18:18:42 +0300
commite61588c5a5446fe8b0d7c974c7619268d5900031 (patch)
tree7a3c2ee00f26de4780313356c4d8a485bcb1833c /source/blender/editors/render
parent49ba9740b8ed55eca742a43b36a47d6b55cb207d (diff)
Fix a bunch of temp full-screen glitches
Steps to reproduce fixed glitches were: * Change any editor to be file browser from menu, Ctrl+O *from the file browser area*, Esc -> area reset to what it was before changing to file browser initially * Ctrl+O from any area, F12, Esc -> returns to initial editor in full-screen (expected is file browser in full-screen) Fixes T46229 Core of the fix is removing old area from spacedata list when going back to previous area (see ED_area_prevspace -> BKE_spacedata_remove). Also, when creating a new temp area we now don't exit old area anymore (needed so SpaceFile->op is kept, but it also makes sense in general) Aaand finally removes some ugly hacks. Tested quite a bit, so I think it's safe to apply (besides of remark below), just would like to get things double checked and confirmed. After all, this full-screen stuff finally starts to feel like it's working :P Note, there's still a memory leak when quitting Blender with temp area open. Haven't found out how to solve yet, but it's not that important for review anyway. Reviewers: campbellbarton, brecht Reviewed By: brecht Subscribers: plyczkowski, Blendify Maniphest Tasks: T46229 Differential Revision: https://developer.blender.org/D1531
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_view.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c
index 4e36303d829..65f0fec50bc 100644
--- a/source/blender/editors/render/render_view.c
+++ b/source/blender/editors/render/render_view.c
@@ -193,7 +193,7 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
/* find largest open non-image area */
sa = biggest_non_image_area(C);
if (sa) {
- ED_area_newspace(C, sa, SPACE_IMAGE);
+ ED_area_newspace(C, sa, SPACE_IMAGE, true);
sima = sa->spacedata.first;
/* makes ESC go back to prev space */
@@ -265,7 +265,7 @@ static int render_view_cancel_exec(bContext *C, wmOperator *UNUSED(op))
if (sima->flag & SI_FULLWINDOW) {
sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_prevspace(C, sa, false);
+ ED_screen_full_prevspace(C, sa);
}
else {
ED_area_prevspace(C, sa);
@@ -330,16 +330,10 @@ static int render_view_show_invoke(bContext *C, wmOperator *op, const wmEvent *e
if (sima->flag & SI_FULLWINDOW) {
sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_prevspace(C, sa, false);
+ ED_screen_full_prevspace(C, sa);
}
- else if (sima->next) {
- /* workaround for case of double prevspace, render window
- * with a file browser on top of it (same as in ED_area_prevspace) */
- if (sima->next->spacetype == SPACE_FILE && sima->next->next)
- ED_area_newspace(C, sa, sima->next->next->spacetype);
- else
- ED_area_newspace(C, sa, sima->next->spacetype);
- ED_area_tag_redraw(sa);
+ else {
+ ED_area_prevspace(C, sa);
}
}
}