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:
authorAmélie Fondevilla <amelie.fondevilla@les-fees-speciales.coop>2022-08-05 13:04:36 +0300
committerSybren A. Stüvel <sybren@blender.org>2022-08-05 13:06:03 +0300
commit45f483681fef58bfc0c2099629c940be53e24972 (patch)
tree78a1ff7cda600722ab42f2613c127501ecef6953 /source/blender/editors/animation
parentf8d13a1b58f774f33db87c581c5b4b263171cf74 (diff)
Fix T100093: Channel selection and grouping issues
Channel selection in graph editor was broken by rB3c5620aabd33 because the selection took into account grease pencil channels. Such channels are now removed from selection in containers that does not use them (NLA and Graph Editor). Grouping was broken from a similar issue. The grouping operation now completely filters out grease pencil channels since the operator is only defined for f-curve channels. Reviewed By: sybren Maniphest Tasks: T100093 Differential Revision: https://developer.blender.org/D15601
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index 1c7b3496723..06a62b7a9de 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1695,7 +1695,7 @@ static int animchannels_group_exec(bContext *C, wmOperator *op)
/* Handle each animdata block separately, so that the regrouping doesn't flow into blocks. */
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_ANIMDATA |
- ANIMFILTER_NODUPLIS);
+ ANIMFILTER_NODUPLIS | ANIMFILTER_FCURVESONLY);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale = anim_data.first; ale; ale = ale->next) {
@@ -3260,10 +3260,14 @@ static int mouse_anim_channels(bContext *C,
bAnimListElem *ale;
int filter;
int notifierFlags = 0;
+ ScrArea *area = CTX_wm_area(C);
/* get the channel that was clicked on */
/* filter channels */
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
+ if (ELEM(area->spacetype, SPACE_NLA, SPACE_GRAPH)) {
+ filter |= ANIMFILTER_FCURVESONLY;
+ }
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get channel from index */