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>2008-03-25 08:32:04 +0300
committerJoshua Leung <aligorith@gmail.com>2008-03-25 08:32:04 +0300
commit88c2358f4f0829b95ad2f9d94c3e077e9dc7fcb5 (patch)
tree0de9f2f5a6dd25a076f17b20d8d74849fd8ee5fd /source/blender/makesdna
parent7de584337ff8470efcec277908ed2e69e7d5bf74 (diff)
Bugfix #8736: Follow Path constraints does not work for Bones
This appears to be a long-standing bug, and it only affected the Follow-Path constraint as it was the only one which was dependant on time-based changes. An oversight in the depsgraph code meant that Follow-Path constraints on armature bones were not evaluated, unless there was an Action or some NLA-Strips for that armature. I've added a new flag to pose->flag (POSE_CONSTRAINTS_TIMEDEPEND) which only gets set/cleared by update_pose_constraint_flags. This flag indicates that the depsgraph needs to do an update for such cases, and will require going in/out of EditMode to set this for old files. It's been implemented as such to avoid having costly searches when trying to run animations realtime (as is done for modifiers).
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_action_types.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index d1951e67661..9fef59b948f 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -258,7 +258,9 @@ typedef enum POSE_FLAG {
/* prevents any channel from getting overridden by anim from IPO */
POSE_LOCKED = (1<<1),
/* clears the POSE_LOCKED flag for the next time the pose is evaluated */
- POSE_DO_UNLOCK = (1<<2)
+ POSE_DO_UNLOCK = (1<<2),
+ /* pose has constraints which depend on time (used when depsgraph updates for a new frame) */
+ POSE_CONSTRAINTS_TIMEDEPEND = (1<<3)
} POSE_FLAG;
/* PoseChannel (transform) flags */