[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24802] trunk/blender/source/blender: 2. 5 internal bugfix: remove modal handlers before exiting the screen,
Brecht Van Lommel
brecht at blender.org
Mon Nov 23 12:49:24 CET 2009
Revision: 24802
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24802
Author: blendix
Date: 2009-11-23 12:49:23 +0100 (Mon, 23 Nov 2009)
Log Message:
-----------
2.5 internal bugfix: remove modal handlers before exiting the screen,
since these may be using it.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_regions.c
trunk/blender/source/blender/windowmanager/intern/wm_files.c
trunk/blender/source/blender/windowmanager/intern/wm_window.c
Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c 2009-11-23 11:43:38 UTC (rev 24801)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c 2009-11-23 11:49:23 UTC (rev 24802)
@@ -1321,9 +1321,7 @@
void ui_popup_block_free(bContext *C, uiPopupBlockHandle *handle)
{
- /* XXX ton added, chrash on load file with popup open... need investigate */
- if(CTX_wm_screen(C))
- ui_remove_temporary_region(C, CTX_wm_screen(C), handle->region);
+ ui_remove_temporary_region(C, CTX_wm_screen(C), handle->region);
MEM_freeN(handle);
}
Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c 2009-11-23 11:43:38 UTC (rev 24801)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c 2009-11-23 11:49:23 UTC (rev 24802)
@@ -122,6 +122,8 @@
for(win= wm->windows.first; win; win= win->next) {
CTX_wm_window_set(C, win); /* needed by operator close callbacks */
+ WM_event_remove_handlers(C, &win->handlers);
+ WM_event_remove_handlers(C, &win->modalhandlers);
ED_screen_exit(C, win, win->screen);
}
}
Modified: trunk/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_window.c 2009-11-23 11:43:38 UTC (rev 24801)
+++ trunk/blender/source/blender/windowmanager/intern/wm_window.c 2009-11-23 11:49:23 UTC (rev 24802)
@@ -230,6 +230,8 @@
BLI_remlink(&wm->windows, win);
wm_draw_window_clear(win);
+ WM_event_remove_handlers(C, &win->handlers);
+ WM_event_remove_handlers(C, &win->modalhandlers);
ED_screen_exit(C, win, win->screen);
wm_window_free(C, wm, win);
More information about the Bf-blender-cvs
mailing list