diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-01-08 18:49:38 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-01-14 19:14:28 +0300 |
commit | 9c1a961dc423d2eb19b875564bb4bb3c0b297ca5 (patch) | |
tree | 4abdc2ad84252ce4f0535386e4447d1e494c6096 /source/blender/editors/interface/interface_anim.c | |
parent | 1665278c14faa2a51ff2f0e33947b73aada25b12 (diff) |
Keyframing: refactor insertion code to allow property-global NLA tweaks.
Supporting a strip blending type that treats quaternions as a unit
also means being able to adjust all sub-channels as a unit when
inserting keyframes. This requires refactoring keyframe insertion
code to retrieve array property values for all channels at once,
before iterating over the indices being inserted.
Diffstat (limited to 'source/blender/editors/interface/interface_anim.c')
-rw-r--r-- | source/blender/editors/interface/interface_anim.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c index 9ec238d7b5e..4cd3acc7474 100644 --- a/source/blender/editors/interface/interface_anim.c +++ b/source/blender/editors/interface/interface_anim.c @@ -98,8 +98,11 @@ void ui_but_anim_flag(uiBut *but, float cfra) if (fcurve_frame_has_keyframe(fcu, cfra, 0)) but->flag |= UI_BUT_ANIMATED_KEY; - if (fcurve_is_changed(but->rnapoin, but->rnaprop, fcu, cfra)) - but->drawflag |= UI_BUT_ANIMATED_CHANGED; + /* XXX: this feature is totally broken and useless with NLA */ + if (adt == NULL || adt->nla_tracks.first == NULL) { + if (fcurve_is_changed(but->rnapoin, but->rnaprop, fcu, cfra)) + but->drawflag |= UI_BUT_ANIMATED_CHANGED; + } } else { but->flag |= UI_BUT_DRIVEN; |