[Bf-blender-cvs] [8f6a9c51764] master: Fix T89526: "Toggle Maximize Area" clears context screen properties

Campbell Barton noreply at git.blender.org
Tue Jun 29 13:09:27 CEST 2021


Commit: 8f6a9c5176453c83187f90eba3a53a01a9c526d2
Author: Campbell Barton
Date:   Tue Jun 29 20:50:53 2021 +1000
Branches: master
https://developer.blender.org/rB8f6a9c5176453c83187f90eba3a53a01a9c526d2

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.

===================================================================

M	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;
 }



More information about the Bf-blender-cvs mailing list