[Bf-blender-cvs] [f7ca0ecfffb] master: Cleanup: Cognitive complexity in mask animation filtering
Sergey Sharybin
noreply at git.blender.org
Wed Nov 16 15:29:17 CET 2022
Commit: f7ca0ecfffb31c7f7e15632a39f4491febcd2b94
Author: Sergey Sharybin
Date: Mon Nov 14 16:13:42 2022 +0100
Branches: master
https://developer.blender.org/rBf7ca0ecfffb31c7f7e15632a39f4491febcd2b94
Cleanup: Cognitive complexity in mask animation filtering
No functional changes expected.
===================================================================
M source/blender/editors/animation/anim_filter.c
===================================================================
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 2c38463d173..f619837a3c5 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -2005,23 +2005,23 @@ static size_t animdata_filter_ds_cachefile(
/* Helper for Mask Editing - mask layers */
static size_t animdata_filter_mask_data(ListBase *anim_data, Mask *mask, const int filter_mode)
{
- MaskLayer *masklay_act = BKE_mask_layer_active(mask);
- MaskLayer *masklay;
+ const MaskLayer *masklay_act = BKE_mask_layer_active(mask);
size_t items = 0;
- /* loop over layers as the conditions are acceptable */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- /* only if selected */
- if (ANIMCHANNEL_SELOK(SEL_MASKLAY(masklay))) {
- /* only if editable */
- if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_MASK(masklay)) {
- /* active... */
- if (!(filter_mode & ANIMFILTER_ACTIVE) || (masklay_act == masklay)) {
- /* add to list */
- ANIMCHANNEL_NEW_CHANNEL(masklay, ANIMTYPE_MASKLAYER, mask, NULL);
- }
- }
+ LISTBASE_FOREACH (MaskLayer *, masklay, &mask->masklayers) {
+ if (!ANIMCHANNEL_SELOK(SEL_MASKLAY(masklay))) {
+ continue;
+ }
+
+ if ((filter_mode & ANIMFILTER_FOREDIT) && !EDITABLE_MASK(masklay)) {
+ continue;
}
+
+ if ((filter_mode & ANIMFILTER_ACTIVE) & (masklay_act != masklay)) {
+ continue;
+ }
+
+ ANIMCHANNEL_NEW_CHANNEL(masklay, ANIMTYPE_MASKLAYER, mask, NULL);
}
return items;
@@ -2033,12 +2033,11 @@ static size_t animdata_filter_mask(Main *bmain,
void *UNUSED(data),
int filter_mode)
{
- Mask *mask;
size_t items = 0;
/* For now, grab mask data-blocks directly from main. */
/* XXX: this is not good... */
- for (mask = bmain->masks.first; mask; mask = mask->id.next) {
+ LISTBASE_FOREACH (Mask *, mask, &bmain->masks) {
ListBase tmp_data = {NULL, NULL};
size_t tmp_items = 0;
@@ -2056,18 +2055,20 @@ static size_t animdata_filter_mask(Main *bmain,
}
/* did we find anything? */
- if (tmp_items) {
- /* include data-expand widget first */
- if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
- /* add mask data-block as channel too (if for drawing, and it has layers) */
- ANIMCHANNEL_NEW_CHANNEL(mask, ANIMTYPE_MASKDATABLOCK, NULL, NULL);
- }
+ if (!tmp_items) {
+ continue;
+ }
- /* now add the list of collected channels */
- BLI_movelisttolist(anim_data, &tmp_data);
- BLI_assert(BLI_listbase_is_empty(&tmp_data));
- items += tmp_items;
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* add mask data-block as channel too (if for drawing, and it has layers) */
+ ANIMCHANNEL_NEW_CHANNEL(mask, ANIMTYPE_MASKDATABLOCK, NULL, NULL);
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert(BLI_listbase_is_empty(&tmp_data));
+ items += tmp_items;
}
/* return the number of items added to the list */
More information about the Bf-blender-cvs
mailing list