forked from bartvdbraak/blender
Bugfix: copying drivers did not set compiled expression to NULL, also tweak
to set it to NULL on file read instead of write as is done usually.
This commit is contained in:
parent
a035dafd27
commit
9857ffde31
@ -1205,6 +1205,7 @@ ChannelDriver *fcurve_copy_driver (ChannelDriver *driver)
|
||||
|
||||
/* copy all data */
|
||||
ndriver= MEM_dupallocN(driver);
|
||||
ndriver->expr_comp= NULL;
|
||||
|
||||
/* copy variables */
|
||||
ndriver->variables.first= ndriver->variables.last= NULL;
|
||||
|
@ -1780,6 +1780,8 @@ static void direct_link_fcurves(FileData *fd, ListBase *list)
|
||||
if (fcu->driver) {
|
||||
ChannelDriver *driver= fcu->driver;
|
||||
DriverVar *dvar;
|
||||
|
||||
driver->expr_comp= NULL;
|
||||
|
||||
/* relink variables, targets and their paths */
|
||||
link_list(fd, &driver->variables);
|
||||
|
@ -935,15 +935,8 @@ static void write_fcurves(WriteData *wd, ListBase *fcurves)
|
||||
ChannelDriver *driver= fcu->driver;
|
||||
DriverVar *dvar;
|
||||
|
||||
/* don't save compiled python bytecode */
|
||||
void *expr_comp= driver->expr_comp;
|
||||
driver->expr_comp= NULL;
|
||||
|
||||
writestruct(wd, DATA, "ChannelDriver", 1, driver);
|
||||
|
||||
driver->expr_comp= expr_comp; /* restore */
|
||||
|
||||
|
||||
/* variables */
|
||||
for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
|
||||
writestruct(wd, DATA, "DriverVar", 1, dvar);
|
||||
|
Loading…
Reference in New Issue
Block a user