forked from bartvdbraak/blender
fix [#28807] Drivers breaking by undo
This commit is contained in:
parent
f7737153e6
commit
9d13224e1a
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user