/* callback to remove target variable from active driver */ static void driver_delete_var_cb(bContext *UNUSED(C), void *driver_v, void *dvar_v) { ChannelDriver *driver = (ChannelDriver *)driver_v; DriverVar *dvar = (DriverVar *)dvar_v; /* remove the active variable */ driver_free_variable(driver, dvar); }
/* This function frees any MEM_calloc'ed copy/paste buffer data */ void ANIM_driver_vars_copybuf_free(void) { /* Free the driver variables kept in the buffer */ if (driver_vars_copybuf.first) { DriverVar *dvar, *dvarn; /* Free variables (and any data they use) */ for (dvar = driver_vars_copybuf.first; dvar; dvar = dvarn) { dvarn = dvar->next; driver_free_variable(&driver_vars_copybuf, dvar); } } BLI_listbase_clear(&driver_vars_copybuf); }