[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40798] trunk/blender/source/blender/ python/intern: fix [#28807] Drivers breaking by undo

Campbell Barton ideasman42 at gmail.com
Wed Oct 5 09:29:00 CEST 2011


Revision: 40798
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40798
Author:   campbellbarton
Date:     2011-10-05 07:28:59 +0000 (Wed, 05 Oct 2011)
Log Message:
-----------
fix [#28807] Drivers breaking by undo

Modified Paths:
--------------
    trunk/blender/source/blender/python/intern/bpy_driver.c
    trunk/blender/source/blender/python/intern/bpy_rna.c

Modified: trunk/blender/source/blender/python/intern/bpy_driver.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_driver.c	2011-10-05 05:44:45 UTC (rev 40797)
+++ trunk/blender/source/blender/python/intern/bpy_driver.c	2011-10-05 07:28:59 UTC (rev 40798)
@@ -41,6 +41,9 @@
 
 #include "bpy_driver.h"
 
+extern void BPY_update_rna_module(void);
+
+
 /* for pydrivers (drivers using one-line Python expressions to express relationships between targets) */
 PyObject *bpy_pydriver_Dict= NULL;
 
@@ -164,6 +167,10 @@
 	if(use_gil)
 		gilstate= PyGILState_Ensure();
 
+	/* needed since drivers are updated directly after undo where 'main' is
+	 * re-allocated [#28807] */
+	BPY_update_rna_module();
+
 	/* init global dictionary for py-driver evaluation settings */
 	if (!bpy_pydriver_Dict) {
 		if (bpy_pydriver_create_dict() != 0) {

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-10-05 05:44:45 UTC (rev 40797)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-10-05 07:28:59 UTC (rev 40798)
@@ -5906,7 +5906,11 @@
 
 void BPY_update_rna_module(void)
 {
+#if 0
 	RNA_main_pointer_create(G.main, rna_module_ptr);
+#else
+	rna_module_ptr->data= G.main; /* just set data is enough */
+#endif
 }
 
 #if 0




More information about the Bf-blender-cvs mailing list