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>2011-03-27 03:42:51 +0400
committerJoshua Leung <aligorith@gmail.com>2011-03-27 03:42:51 +0400
commit7beca3d142853a0d24ab878d5f3b40d62e75f76d (patch)
tree0eb6155673f50aa4bfa065474d04cd05d5965ee7 /source/blender/editors/animation/anim_channels_edit.c
parent121075ec15cff682a010dee75d77432b16fe7172 (diff)
Bugfixes due to recent RNA renaming:
* Driver F-Curves were not getting fixed by the "FCurve/Driver Version Fix" tool. This was causing problems such as shapekey drivers from older (2.56 compatible rigs) failing to run. As well as renaming the paths for these Driver F-Curves, the "disabled" flags also get cleared from these drivers so that they can be run again * "Revive Disabled F-Curves" operator in Animation Editors can now be used to revive disabled drivers too.
Diffstat (limited to 'source/blender/editors/animation/anim_channels_edit.c')
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index ad88ece1154..0845014c99e 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1687,7 +1687,16 @@ static int animchannels_enable_exec (bContext *C, wmOperator *UNUSED(op))
/* loop through filtered data and clean curves */
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu = (FCurve *)ale->data;
+
+ /* remove disabled flags from F-Curves */
fcu->flag &= ~FCURVE_DISABLED;
+
+ /* for drivers, let's do the same too */
+ if (fcu->driver)
+ fcu->driver->flag &= ~DRIVER_FLAG_INVALID;
+
+ /* tag everything for updates - in particular, this is needed to get drivers working again */
+ ANIM_list_elem_update(ac.scene, ale);
}
/* free temp data */