Blender Git Loki

Git Commits -> Revision 64583f3

Revision 64583f3 by Sybren A. Stüvel (master)
September 25, 2020, 12:20 (GMT)
Animation: set Action `idroot` at assignment instead of just at evaluation

Actions are either locked to a specific ID type, or "floating". Actions
in the floating state are now locked when they are assigned to an ID block.
Previously (rB94b99b5d4a7c20cf2) this was done at evaluation time, which
caused various problems:
- The ID type was set on the evaluated copy, and inconsistently flushed
back to the original.
- A newly created Action could not be assigned to an Action constraint,
unless a depsgraph evaluation was be forced first.

This is now resolved by calling `BKE_animdata_set_action()` to set the
action (instead of direct assignment) where possible, and calling
`BKE_animdata_action_ensure_idroot()` otherwise.

Manifest Task: https://developer.blender.org/T80986

Commit Details:

Full Hash: 64583f3e8d0f337a977c9a90b874bee733a37402
Parent Commit: 5419f9a
Lines Changed: +52, -35

6 Modified Paths:

/source/blender/blenkernel/BKE_anim_data.h (+4, -0) (Diff)
/source/blender/blenkernel/intern/action.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/anim_data.c (+21, -1) (Diff)
/source/blender/editors/animation/keyframing.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_anim_types.h (+5, -1) (Diff)
/source/blender/makesrna/intern/rna_space.c (+19, -32) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021