diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-06-03 00:59:00 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-06-03 00:59:00 +0400 |
commit | 0c004723fe60fa93947d9c7ca4ec119a30a32372 (patch) | |
tree | fd438ef48fe10ddf2a17a8f929ded3edd1e05d56 /source/blender/windowmanager | |
parent | c5ed6765b9c46630579be5e43cab74965f0be9da (diff) |
fix [#35434] Segmentation fault switching screen layout from python
(take 2), only free popup handlers.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 91b7b81940b..de961afefd8 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -247,7 +247,10 @@ void wm_event_do_notifiers(bContext *C) if (note->window == win) { if (note->category == NC_SCREEN) { if (note->data == ND_SCREENBROWSE) { - /* do not free handlers here! [#35434] */ + /* free popup handlers only [#35434] */ + wmWindow *win = CTX_wm_window(C); + UI_remove_popup_handlers_all(C, &win->modalhandlers); + ED_screen_set(C, note->reference); // XXX hrms, think this over! if (G.debug & G_DEBUG_EVENTS) |