fix [#28807] Drivers breaking by undo

This commit is contained in:
Campbell Barton 2011-10-05 07:28:59 +00:00
parent f7737153e6
commit 9d13224e1a
2 changed files with 11 additions and 0 deletions

@ -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 @@ float BPY_driver_exec(ChannelDriver *driver)
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) {

@ -5906,7 +5906,11 @@ PyObject *BPY_rna_module(void)
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