[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40008] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: Fix #28541: crash with operator reports in some cases, caused by my recent fix
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed Sep 7 13:53:16 CEST 2011
Revision: 40008
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40008
Author: blendix
Date: 2011-09-07 11:53:16 +0000 (Wed, 07 Sep 2011)
Log Message:
-----------
Fix #28541: crash with operator reports in some cases, caused by my recent fix
for missing reports, thanks to Sergey for tracking this down.
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2011-09-07 11:22:57 UTC (rev 40007)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2011-09-07 11:53:16 UTC (rev 40008)
@@ -441,12 +441,17 @@
if(op->reports->list.first) {
/* FIXME, temp setting window, see other call to uiPupMenuReports for why */
wmWindow *win_prev= CTX_wm_window(C);
+ ScrArea *area_prev= CTX_wm_area(C);
+ ARegion *ar_prev= CTX_wm_region(C);
+
if(win_prev==NULL)
CTX_wm_window_set(C, CTX_wm_manager(C)->windows.first);
uiPupMenuReports(C, op->reports);
CTX_wm_window_set(C, win_prev);
+ CTX_wm_area_set(C, area_prev);
+ CTX_wm_region_set(C, ar_prev);
}
}
@@ -1394,6 +1399,9 @@
* only have because lib linking errors need to be seen by users :(
* it can be removed without breaking anything but then no linking errors - campbell */
wmWindow *win_prev= CTX_wm_window(C);
+ ScrArea *area_prev= CTX_wm_area(C);
+ ARegion *ar_prev= CTX_wm_region(C);
+
if(win_prev==NULL)
CTX_wm_window_set(C, CTX_wm_manager(C)->windows.first);
@@ -1405,6 +1413,8 @@
BLI_movelisttolist(&CTX_wm_reports(C)->list, &handler->op->reports->list);
CTX_wm_window_set(C, win_prev);
+ CTX_wm_area_set(C, area_prev);
+ CTX_wm_region_set(C, ar_prev);
}
WM_operator_free(handler->op);
More information about the Bf-blender-cvs
mailing list