[Bf-blender-cvs] [98931d9] master: Fix T46764: Crash toggling region + fullscreen
Campbell Barton
noreply at git.blender.org
Tue Nov 17 01:40:15 CET 2015
Commit: 98931d9e395f8835a339061b665f0752a853f95a
Author: Campbell Barton
Date: Tue Nov 17 11:32:15 2015 +1100
Branches: master
https://developer.blender.org/rB98931d9e395f8835a339061b665f0752a853f95a
Fix T46764: Crash toggling region + fullscreen
===================================================================
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 a69ad44..461cdb2 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1859,6 +1859,7 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
*/
ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const short state)
{
+ wmWindowManager *wm = CTX_wm_manager(C);
bScreen *sc, *oldscreen;
ARegion *ar;
@@ -1866,9 +1867,15 @@ ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const s
/* ensure we don't have a button active anymore, can crash when
* switching screens with tooltip open because region and tooltip
* are no longer in the same screen */
- for (ar = sa->regionbase.first; ar; ar = ar->next)
+ for (ar = sa->regionbase.first; ar; ar = ar->next) {
UI_blocklist_free(C, &ar->uiblocks);
+ if (ar->regiontimer) {
+ WM_event_remove_timer(wm, NULL, ar->regiontimer);
+ ar->regiontimer = NULL;
+ }
+ }
+
/* prevent hanging header prints */
ED_area_headerprint(sa, NULL);
}
More information about the Bf-blender-cvs
mailing list