Fix #30155: crash with popup menu open while new .blend file is loaded,

CTX_wm_window is then set to NULL and checked in the event queue, but it
should be checked for removing handlers too.
This commit is contained in:
Brecht Van Lommel
2012-02-13 21:05:04 +00:00
parent a53237f193
commit 19ff61bfb3

View File

@@ -2657,8 +2657,13 @@ void uiPupBlockOperator(bContext *C, uiBlockCreateFunc func, wmOperator *op, int
void uiPupBlockClose(bContext *C, uiBlock *block)
{
if(block->handle) {
UI_remove_popup_handlers(&CTX_wm_window(C)->modalhandlers, block->handle);
ui_popup_block_free(C, block->handle);
wmWindow *win = CTX_wm_window(C);
/* if loading new .blend while popup is open, window will be NULL */
if(win) {
UI_remove_popup_handlers(&win->modalhandlers, block->handle);
ui_popup_block_free(C, block->handle);
}
}
}