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
path: root/source
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2010-02-10 12:53:55 +0300
committerJoshua Leung <aligorith@gmail.com>2010-02-10 12:53:55 +0300
commitfbc201d2ddcda5db4d5d41ac3a3ba8f3cd4a2ba9 (patch)
treeeb7362ea45842f66fe660a1eb3564d5a706212ec /source
parent2b857baeca84261dd4cf044ae10e810877d692c2 (diff)
Committing a little note of a bug that isn't quite so easy to fix yet with groups+visibility operator (anim channels).
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/animation/anim_filter.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index f152671d6d5..9c2fad39136 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -969,12 +969,22 @@ static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeS
*/
first_fcu = animdata_filter_fcurve_next(ads, agrp->channels.first, agrp, filter_gmode, owner_id);
+ /* Bug note:
+ * Selecting open group to toggle visbility of the group, where the F-Curves of the group are not suitable
+ * for inclusion due to their selection status (vs visibility status of bones/etc., as is usually the case),
+ * will not work, since the group gets skipped. However, fixing this can easily reintroduce the bugs whereby
+ * hidden groups (due to visibility status of bones/etc.) that were selected before becoming invisible, can
+ * easily get deleted accidentally as they'd be included in the list filtered for that purpose.
+ *
+ * So, for now, best solution is to just leave this note here, and hope to find a solution at a later date.
+ * -- Joshua Leung, 2010 Feb 10
+ */
if (first_fcu) {
/* add this group as a channel first */
if ((filter_mode & ANIMFILTER_CHANNELS) || !(filter_mode & ANIMFILTER_CURVESONLY)) {
/* filter selection of channel specially here again, since may be open and not subject to previous test */
if ( ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) ) {
- ale= make_new_animlistelem(agrp, ANIMTYPE_GROUP, NULL, ANIMTYPE_NONE, owner_id);
+ ale= make_new_animlistelem(agrp, ANIMTYPE_GROUP, NULL, ANIMTYPE_NONE, owner_id);
if (ale) {
BLI_addtail(anim_data, ale);
items++;