[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