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-24 14:25:34 +0300
committerJoshua Leung <aligorith@gmail.com>2008-03-24 14:25:34 +0300
commit186320f458dec1e8436a67f1ae57346d6f40a82d (patch)
tree1d0c231460d8c6b9ca9e73062f62f5f616475444 /source/blender/src/editaction.c
parentdbd64ac7514b4685c2cc8f6dcbdf5104648c17a1 (diff)
Peach Request: Fix for little bug in Action Editor
Quick patch for action-filtering system, so that the IKEY (Insert Key) -> "Key Only Selected" doesn't key in channels that are hidden. Documented the convoulted logic there a bit. Note: constraint channel keys in group channels seems to have become broken again at some point before this commit
Diffstat (limited to 'source/blender/src/editaction.c')
-rw-r--r--source/blender/src/editaction.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c
index cf74c04678d..c97451e1d57 100644
--- a/source/blender/src/editaction.c
+++ b/source/blender/src/editaction.c
@@ -418,9 +418,15 @@ static void actdata_filter_action (ListBase *act_data, bAction *act, int filter_
/* filters here are a bit convoulted...
* - groups show a "summary" of keyframes beside their name which must accessable for tools which handle keyframes
* - groups can be collapsed (and those tools which are only interested in channels rely on knowing that group is closed)
+ *
+ * cases when we should include action-channels and so-forth inside group:
+ * - we don't care about visibility
+ * - group is expanded
+ * - we're interested in keyframes, but not if they appear in selected channels
*/
if ( (!(filter_mode & ACTFILTER_VISIBLE) || EXPANDED_AGRP(agrp)) ||
- (filter_mode & (ACTFILTER_IPOKEYS|ACTFILTER_ONLYICU)) )
+ ( ((filter_mode & ACTFILTER_IPOKEYS) || (filter_mode & ACTFILTER_ONLYICU)) &&
+ !(filter_mode & ACTFILTER_SEL) ) )
{
if (!(filter_mode & ACTFILTER_FOREDIT) || EDITABLE_AGRP(agrp)) {
for (achan= agrp->channels.first; achan && achan->grp==agrp; achan= achan->next) {