[Bf-blender-cvs] [cf9cacd091e] blender-v2.93-release: Fix T89526: "Toggle Maximize Area" clears context screen properties

Campbell Barton noreply at git.blender.org
Wed Jun 30 09:30:17 CEST 2021


Commit: cf9cacd091e8cbabf9bfc91b0949bfea785968d4
Author: Campbell Barton
Date:   Tue Jun 29 20:50:53 2021 +1000
Branches: blender-v2.93-release
https://developer.blender.org/rBcf9cacd091e8cbabf9bfc91b0949bfea785968d4

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 7ad8eada3b9..c7760aa34b3 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1416,6 +1416,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