Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-14 01:05:04 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-14 01:05:04 +0400
commit19ff61bfb3c817ae5707bac1911c062eea98a292 (patch)
treef87bb7e2ae144611f112ac5702174994b0e6c648 /source/blender
parenta53237f1930553f0aa373f6f4a85d8ad30650411 (diff)
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.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/interface/interface_regions.c9
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);
+ }
}
}