From e61588c5a5446fe8b0d7c974c7619268d5900031 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Mon, 29 Feb 2016 16:18:42 +0100 Subject: 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 --- source/blender/makesrna/intern/rna_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/makesrna') diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c index 7487d840636..43d5cda17ae 100644 --- a/source/blender/makesrna/intern/rna_screen.c +++ b/source/blender/makesrna/intern/rna_screen.c @@ -161,7 +161,7 @@ static void rna_Area_type_update(bContext *C, PointerRNA *ptr) CTX_wm_area_set(C, sa); CTX_wm_region_set(C, NULL); - ED_area_newspace(C, sa, sa->butspacetype); + ED_area_newspace(C, sa, sa->butspacetype, true); ED_area_tag_redraw(sa); /* It is possible that new layers becomes visible. */ -- cgit v1.2.3