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>2012-01-03 06:11:11 +0400
committerJoshua Leung <aligorith@gmail.com>2012-01-03 06:11:11 +0400
commit8983d68fd8fbda9d0500dd60af259b87ec28b4c3 (patch)
tree6fcf43a4337875aeb00a64d62de1cd59158cbc35 /source/blender/editors/animation/anim_ipo_utils.c
parent84437bb5e9342e67f448e26adb0c4b0811f3ef5c (diff)
Bugfix [#29629] UV animation stops working forever if Edit mode entered
Thanks Sergey for the patch! This bug, and many like it would arise because at some point a F-Curve would get detected as being unable to be resolved (when trying to display its name in an Animation Editor), so gets tagged as being "disabled". It was assumed that such channels usually belonged to deleted data or stuff that wouldn't be able to be resolved again for a long time. However, in cases like UV settings, they may only be unavailable temporarily. As a compromise, this patch clears this disabled flag if a channel is found to be now working when (in the process of finding out its name when redrawing an Animation Editor) it can be resolved, in the same place where the disabling was taking place. This doesn't work fullproof in tests I've done, but should be nicer than before.
Diffstat (limited to 'source/blender/editors/animation/anim_ipo_utils.c')
-rw-r--r--source/blender/editors/animation/anim_ipo_utils.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c
index 8e36e02bbb4..8c4e0065a19 100644
--- a/source/blender/editors/animation/anim_ipo_utils.c
+++ b/source/blender/editors/animation/anim_ipo_utils.c
@@ -161,6 +161,11 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
* use the struct's icon if it is set
*/
icon= RNA_struct_ui_icon(ptr.type);
+
+ /* valid path - remove the invalid tag since we now know how to use it saving
+ * users manual effort to reenable using "Revive Disabled FCurves" [#29629]
+ */
+ fcu->flag &= ~FCURVE_DISABLED;
}
else {
/* invalid path */