[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45071] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: fix issue with own recent commit - was accessing freed 'wm' on loading files.

Campbell Barton ideasman42 at gmail.com
Wed Mar 21 22:02:07 CET 2012


Revision: 45071
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45071
Author:   campbellbarton
Date:     2012-03-21 21:01:58 +0000 (Wed, 21 Mar 2012)
Log Message:
-----------
fix issue with own recent commit - was accessing freed 'wm' on loading files.

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	2012-03-21 20:21:32 UTC (rev 45070)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2012-03-21 21:01:58 UTC (rev 45071)
@@ -806,9 +806,10 @@
 
 	if(WM_operator_poll(C, ot)) {
 		wmOperator *op= wm_operator_create(wm, ot, properties, reports); /* if reports==NULL, theyll be initialized */
+		const short is_nested_call = (wm->op_undo_depth != 0);
 		
 		/* initialize setting from previous run */
-		if(wm->op_undo_depth == 0) { /* not called by py script */
+		if(!is_nested_call) { /* not called by py script */
 			WM_operator_last_properties_init(op);
 		}
 
@@ -852,7 +853,7 @@
 		if(retval & OPERATOR_HANDLED)
 			; /* do nothing, wm_operator_exec() has been called somewhere */
 		else if(retval & OPERATOR_FINISHED) {
-			if (wm->op_undo_depth == 0) { /* not called by py script */
+			if (!is_nested_call) { /* not called by py script */
 				WM_operator_last_properties_store(op);
 			}
 			wm_operator_finished(C, op, 0);




More information about the Bf-blender-cvs mailing list