[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57924] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: fix for crash in demo-mode, caused by r51702

Campbell Barton ideasman42 at gmail.com
Tue Jul 2 07:54:28 CEST 2013


Revision: 57924
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57924
Author:   campbellbarton
Date:     2013-07-02 05:54:28 +0000 (Tue, 02 Jul 2013)
Log Message:
-----------
fix for crash in demo-mode, caused by r51702

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51702

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	2013-07-02 05:14:18 UTC (rev 57923)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2013-07-02 05:54:28 UTC (rev 57924)
@@ -1480,15 +1480,17 @@
 			if (ot->flag & OPTYPE_UNDO)
 				wm->op_undo_depth++;
 
+			/* warning, after this call all context data and 'event' may be freed. see check below */
 			retval = ot->modal(C, op, event);
 			OPERATOR_RETVAL_CHECK(retval);
-			wm_event_modalmap_end(event);
 			
 			/* when this is _not_ the case the modal modifier may have loaded
 			 * a new blend file (demo mode does this), so we have to assume
 			 * the event, operator etc have all been freed. - campbell */
 			if (CTX_wm_manager(C) == wm) {
 
+				wm_event_modalmap_end(event);
+
 				if (ot->flag & OPTYPE_UNDO)
 					wm->op_undo_depth--;
 




More information about the Bf-blender-cvs mailing list