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"
|
#include "bpy_driver.h"
|
||||||
|
|
||||||
|
extern void BPY_update_rna_module(void);
|
||||||
|
|
||||||
|
|
||||||
/* for pydrivers (drivers using one-line Python expressions to express relationships between targets) */
|
/* for pydrivers (drivers using one-line Python expressions to express relationships between targets) */
|
||||||
PyObject *bpy_pydriver_Dict= NULL;
|
PyObject *bpy_pydriver_Dict= NULL;
|
||||||
|
|
||||||
@ -164,6 +167,10 @@ float BPY_driver_exec(ChannelDriver *driver)
|
|||||||
if(use_gil)
|
if(use_gil)
|
||||||
gilstate= PyGILState_Ensure();
|
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 */
|
/* init global dictionary for py-driver evaluation settings */
|
||||||
if (!bpy_pydriver_Dict) {
|
if (!bpy_pydriver_Dict) {
|
||||||
if (bpy_pydriver_create_dict() != 0) {
|
if (bpy_pydriver_create_dict() != 0) {
|
||||||
|
@ -5906,7 +5906,11 @@ PyObject *BPY_rna_module(void)
|
|||||||
|
|
||||||
void BPY_update_rna_module(void)
|
void BPY_update_rna_module(void)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
RNA_main_pointer_create(G.main, rna_module_ptr);
|
RNA_main_pointer_create(G.main, rna_module_ptr);
|
||||||
|
#else
|
||||||
|
rna_module_ptr->data= G.main; /* just set data is enough */
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
Loading…
Reference in New Issue
Block a user