diff options
Diffstat (limited to 'source/blender/editors/interface/interface_regions.c')
-rw-r--r-- | source/blender/editors/interface/interface_regions.c | 9 |
1 files changed, 7 insertions, 2 deletions
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); + } } } |