diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-10-17 08:22:52 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-10-17 08:22:52 +0400 |
commit | 53624a53d9054a91688a1a988c6f3515ab601923 (patch) | |
tree | d2318d340c03cccd9cadf835a50e19a5455bf230 /source/blender/editors/animation/anim_filter.c | |
parent | 474e97e6d22973cf95262d5262e880c15683b828 (diff) |
Assorted tweaks for animation editors:
* Changing to the ShapeKey editor now automatically enables the value sliders
* Filtering code for ShapeKey editor can now do AnimData block filtering too (internal details...)
* Silenced console warnings when inserting keyframes on F-Curves with no keyframes already (for Animation Editor sliders)
* Made the update code for keyframe transforms send more general depsgraph updates. Unfortuately, this still doesn't resolve the update problems with shapekeys
Diffstat (limited to 'source/blender/editors/animation/anim_filter.c')
-rw-r--r-- | source/blender/editors/animation/anim_filter.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index 84da3662661..aa1bc108176 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -926,11 +926,11 @@ static int animdata_filter_nla (ListBase *anim_data, bDopeSheet *ads, AnimData * /* Include ShapeKey Data for ShapeKey Editor */ static int animdata_filter_shapekey (ListBase *anim_data, Key *key, int filter_mode) { + bAnimListElem *ale; int items = 0; /* check if channels or only F-Curves */ if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) { - bAnimListElem *ale; KeyBlock *kb; /* loop through the channels adding ShapeKeys as appropriate */ @@ -959,8 +959,12 @@ static int animdata_filter_shapekey (ListBase *anim_data, Key *key, int filter_m else { /* just use the action associated with the shapekey */ // FIXME: is owner-id and having no owner/dopesheet really fine? - if (key->adt && key->adt->action) - items= animdata_filter_action(anim_data, NULL, key->adt->action, filter_mode, NULL, ANIMTYPE_NONE, (ID *)key); + if (key->adt) { + if (filter_mode & ANIMFILTER_ANIMDATA) + ANIMDATA_ADD_ANIMDATA(key) + else if (key->adt->action) + items= animdata_filter_action(anim_data, NULL, key->adt->action, filter_mode, NULL, ANIMTYPE_NONE, (ID *)key); + } } /* return the number of items added to the list */ |