From fbc201d2ddcda5db4d5d41ac3a3ba8f3cd4a2ba9 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Wed, 10 Feb 2010 09:53:55 +0000 Subject: Committing a little note of a bug that isn't quite so easy to fix yet with groups+visibility operator (anim channels). --- source/blender/editors/animation/anim_filter.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'source') 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++; -- cgit v1.2.3