Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-01-28 03:50:56 +0300
committerJoshua Leung <aligorith@gmail.com>2009-01-28 03:50:56 +0300
commit623659f72f50a7ca78e4a72317eb2df0d3c22057 (patch)
treeebaae6b46747904becd15a2f8b854bc746b2d9c6 /source/blender/blenkernel/intern/anim_sys.c
parent764168d62a22659ac9947835a3308f7bc66fc1d5 (diff)
Animato - Driver + ShapeKey bugfixes
* ShapeKey conversions should now go to the correct places * Added fix for drivers to prevent crashes when no driver object is provided (Franky from BBB seems to have one such driver for some reason). * Temporarily disabled a check when evaluating drivers for whether the driver is tagged for evaluation. Drivers still need to be correctly tagged AND ordered by the Depsgraph to work correctly.
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c
index 374a4bfaa60..a0b329f9bcb 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -229,7 +229,9 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
}
else {
/* failed to get path */
- printf("Animato: Invalid path '%s[%d]' \n", path, array_index);
+ printf("Animato: Invalid path. ID = '%s', '%s [%d]' \n",
+ (ptr && ptr->id.data) ? (((ID *)ptr->id.data)->name+2) : "<No ID>",
+ path, array_index);
return 0;
}
}
@@ -291,7 +293,7 @@ static void animsys_evaluate_drivers (PointerRNA *ptr, AnimData *adt, float ctim
if ((fcu->flag & (FCURVE_MUTED|FCURVE_DISABLED)) == 0)
{
/* check if driver itself is tagged for recalculation */
- if ((driver) && (driver->flag & DRIVER_FLAG_RECALC)) {
+ if ((driver) /*&& (driver->flag & DRIVER_FLAG_RECALC)*/) { // XXX driver recalc flag is not set yet by depsgraph!
/* evaluate this using values set already in other places */
// NOTE: for 'layering' option later on, we should check if we should remove old value before adding new to only be done when drivers only changed
calculate_fcurve(fcu, ctime);