From 8f6a9c5176453c83187f90eba3a53a01a9c526d2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 29 Jun 2021 20:50:53 +1000 Subject: Fix T89526: "Toggle Maximize Area" clears context screen properties Removed in b787581c9cda5a0cd4bc8b03bbdd1f9832438db4 as it's comment noted it was bad code, the reason for it's necessity was no longer valid. Add this back with comment explaining why it's still needed. --- source/blender/editors/screen/screen_edit.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/blender/editors/screen/screen_edit.c') diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 21800536503..e2d95035ba8 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1564,6 +1564,14 @@ ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *area, const BLI_assert(CTX_wm_screen(C) == screen); BLI_assert(CTX_wm_area(C) == NULL); /* May have been freed. */ + /* Setting the area is only needed for Python scripts that call + * operators in succession before returning to the main event loop. + * Without this, scripts can't run any operators that require + * an area after toggling full-screen for example (see: T89526). + * NOTE: an old comment stated this was "bad code", + * however it doesn't cause problems so leave as-is. */ + CTX_wm_area_set(C, screen->areabase.first); + return screen->areabase.first; } -- cgit v1.2.3