From 19ff61bfb3c817ae5707bac1911c062eea98a292 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 13 Feb 2012 21:05:04 +0000 Subject: 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. --- source/blender/editors/interface/interface_regions.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 360b58eb0a9..c912bce1c77 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -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); + } } } -- cgit v1.2.3