[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49435] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: fix [#32232] Running script that changes area.type crashes blender.

Campbell Barton ideasman42 at gmail.com
Wed Aug 1 00:15:56 CEST 2012


Revision: 49435
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49435
Author:   campbellbarton
Date:     2012-07-31 22:15:54 +0000 (Tue, 31 Jul 2012)
Log Message:
-----------
fix [#32232] Running script that changes area.type crashes blender.

(reported the bug to keep some reference to the script that crashes).

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-07-31 22:01:44 UTC (rev 49434)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2012-07-31 22:15:54 UTC (rev 49435)
@@ -1683,9 +1683,14 @@
 	}
 #endif
 
-	/* modal handlers can get removed in this loop, we keep the loop this way */
-	for (handler = handlers->first; handler; handler = nexthandler) {
-		
+	/* modal handlers can get removed in this loop, we keep the loop this way
+	 *
+	 * note: check 'handlers->first' because in rare cases the handlers can be cleared
+	 * by the event thats called, for eg:
+	 *
+	 * Calling a python script which changes the area.type, see [#32232] */
+	for (handler = handlers->first; handler && handlers->first; handler = nexthandler) {
+
 		nexthandler = handler->next;
 		
 		/* during this loop, ui handlers for nested menus can tag multiple handlers free */




More information about the Bf-blender-cvs mailing list