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:
authorBastien Montagne <bastien@blender.org>2020-04-29 11:52:01 +0300
committerBastien Montagne <bastien@blender.org>2020-04-29 11:53:34 +0300
commitafeddd42e653be2853515eb364fcd363c9023c3a (patch)
tree9cc148338fc3bc4df900114b36b244e9786edcc7 /source/blender/blenkernel/intern/lib_query.c
parent839fe335d2d6333830fd7236925c01d9db909bda (diff)
Cleanup: use LISTBASE_FOREACH iterator everywhere possible in libquery.
Done also in 2.83 release branch to avoid too much conflicts on merging (some of those were already done for nodes in master, and gave me conflicts yesterday...).
Diffstat (limited to 'source/blender/blenkernel/intern/lib_query.c')
-rw-r--r--source/blender/blenkernel/intern/lib_query.c82
1 files changed, 28 insertions, 54 deletions
diff --git a/source/blender/blenkernel/intern/lib_query.c b/source/blender/blenkernel/intern/lib_query.c
index c93aade7cfa..2ca03fd5d7e 100644
--- a/source/blender/blenkernel/intern/lib_query.c
+++ b/source/blender/blenkernel/intern/lib_query.c
@@ -251,11 +251,9 @@ static void library_foreach_particlesystemsObjectLooper(ParticleSystem *UNUSED(p
static void library_foreach_nla_strip(LibraryForeachIDData *data, NlaStrip *strip)
{
- NlaStrip *substrip;
-
FOREACH_CALLBACK_INVOKE(data, strip->act, IDWALK_CB_USER);
- for (substrip = strip->strips.first; substrip; substrip = substrip->next) {
+ LISTBASE_FOREACH (NlaStrip *, substrip, &strip->strips) {
library_foreach_nla_strip(data, substrip);
}
@@ -264,15 +262,10 @@ static void library_foreach_nla_strip(LibraryForeachIDData *data, NlaStrip *stri
static void library_foreach_animationData(LibraryForeachIDData *data, AnimData *adt)
{
- FCurve *fcu;
- NlaTrack *nla_track;
- NlaStrip *nla_strip;
-
- for (fcu = adt->drivers.first; fcu; fcu = fcu->next) {
+ LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) {
ChannelDriver *driver = fcu->driver;
- DriverVar *dvar;
- for (dvar = driver->variables.first; dvar; dvar = dvar->next) {
+ LISTBASE_FOREACH (DriverVar *, dvar, &driver->variables) {
/* only used targets */
DRIVER_TARGETS_USED_LOOPER_BEGIN (dvar) {
FOREACH_CALLBACK_INVOKE_ID(data, dtar->id, IDWALK_CB_NOP);
@@ -284,8 +277,8 @@ static void library_foreach_animationData(LibraryForeachIDData *data, AnimData *
FOREACH_CALLBACK_INVOKE(data, adt->action, IDWALK_CB_USER);
FOREACH_CALLBACK_INVOKE(data, adt->tmpact, IDWALK_CB_USER);
- for (nla_track = adt->nla_tracks.first; nla_track; nla_track = nla_track->next) {
- for (nla_strip = nla_track->strips.first; nla_strip; nla_strip = nla_strip->next) {
+ LISTBASE_FOREACH (NlaTrack *, nla_track, &adt->nla_tracks) {
+ LISTBASE_FOREACH (NlaStrip *, nla_strip, &nla_track->strips) {
library_foreach_nla_strip(data, nla_strip);
}
}
@@ -462,7 +455,6 @@ static void library_foreach_screen_area(LibraryForeachIDData *data, ScrArea *are
}
case SPACE_NODE: {
SpaceNode *snode = (SpaceNode *)sl;
- bNodeTreePath *path;
const bool is_private_nodetree = snode->id != NULL &&
ntreeFromID(snode->id) == snode->nodetree;
@@ -473,7 +465,7 @@ static void library_foreach_screen_area(LibraryForeachIDData *data, ScrArea *are
FOREACH_CALLBACK_INVOKE(
data, snode->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER_ONE);
- for (path = snode->treepath.first; path; path = path->next) {
+ LISTBASE_FOREACH (bNodeTreePath *, path, &snode->treepath) {
if (path == snode->treepath.first) {
/* first nodetree in path is same as snode->nodetree */
FOREACH_CALLBACK_INVOKE(data,
@@ -677,8 +669,7 @@ static void library_foreach_ID_link(Main *bmain,
library_foreach_collection(&data, scene->master_collection);
}
- ViewLayer *view_layer;
- for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
+ LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) {
CALLBACK_INVOKE(view_layer->mat_override, IDWALK_CB_USER);
LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
@@ -757,7 +748,6 @@ static void library_foreach_ID_link(Main *bmain,
case ID_OB: {
Object *object = (Object *)id;
- ParticleSystem *psys;
/* Object is special, proxies make things hard... */
const int data_cb_flag = data.cb_flag;
@@ -813,10 +803,8 @@ static void library_foreach_ID_link(Main *bmain,
/* Note that ob->effect is deprecated, so no need to handle it here. */
if (object->pose) {
- bPoseChannel *pchan;
-
data.cb_flag |= proxy_cb_flag;
- for (pchan = object->pose->chanbase.first; pchan; pchan = pchan->next) {
+ LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
IDP_foreach_property(
pchan->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
CALLBACK_INVOKE(pchan->custom, IDWALK_CB_USER);
@@ -832,8 +820,7 @@ static void library_foreach_ID_link(Main *bmain,
}
if (object->lodlevels.first) {
- LodLevel *level;
- for (level = object->lodlevels.first; level; level = level->next) {
+ LISTBASE_FOREACH (LodLevel *, level, &object->lodlevels) {
CALLBACK_INVOKE(level->source, IDWALK_CB_NEVER_SELF);
}
}
@@ -845,7 +832,7 @@ static void library_foreach_ID_link(Main *bmain,
&object->constraints, library_foreach_constraintObjectLooper, &data);
BKE_shaderfx_foreachIDLink(object, library_foreach_shaderfxForeachIDLink, &data);
- for (psys = object->particlesystem.first; psys; psys = psys->next) {
+ LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
BKE_particlesystem_id_loop(psys, library_foreach_particlesystemsObjectLooper, &data);
}
@@ -998,31 +985,29 @@ static void library_foreach_ID_link(Main *bmain,
case ID_NT: {
bNodeTree *ntree = (bNodeTree *)id;
- bNode *node;
- bNodeSocket *sock;
CALLBACK_INVOKE(ntree->gpd, IDWALK_CB_USER);
- for (node = ntree->nodes.first; node; node = node->next) {
+ LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
CALLBACK_INVOKE_ID(node->id, IDWALK_CB_USER);
IDP_foreach_property(
node->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
- for (sock = node->inputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
IDP_foreach_property(
sock->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
}
- for (sock = node->outputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
IDP_foreach_property(
sock->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
}
}
- for (sock = ntree->inputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &ntree->inputs) {
IDP_foreach_property(
sock->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
}
- for (sock = ntree->outputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &ntree->outputs) {
IDP_foreach_property(
sock->prop, IDP_TYPE_FILTER_ID, library_foreach_idpropertiesForeachIDLink, &data);
}
@@ -1069,11 +1054,8 @@ static void library_foreach_ID_link(Main *bmain,
}
if (psett->boids) {
- BoidState *state;
- BoidRule *rule;
-
- for (state = psett->boids->states.first; state; state = state->next) {
- for (rule = state->rules.first; rule; rule = rule->next) {
+ LISTBASE_FOREACH (BoidState *, state, &psett->boids->states) {
+ LISTBASE_FOREACH (BoidRule *, rule, &state->rules) {
if (rule->type == eBoidRuleType_Avoid) {
BoidRuleGoalAvoid *gabr = (BoidRuleGoalAvoid *)rule;
CALLBACK_INVOKE(gabr->ob, IDWALK_CB_NOP);
@@ -1095,23 +1077,19 @@ static void library_foreach_ID_link(Main *bmain,
case ID_MC: {
MovieClip *clip = (MovieClip *)id;
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *object;
- MovieTrackingTrack *track;
- MovieTrackingPlaneTrack *plane_track;
CALLBACK_INVOKE(clip->gpd, IDWALK_CB_USER);
- for (track = tracking->tracks.first; track; track = track->next) {
+ LISTBASE_FOREACH (MovieTrackingTrack *, track, &tracking->tracks) {
CALLBACK_INVOKE(track->gpd, IDWALK_CB_USER);
}
- for (object = tracking->objects.first; object; object = object->next) {
- for (track = object->tracks.first; track; track = track->next) {
+ LISTBASE_FOREACH (MovieTrackingObject *, object, &tracking->objects) {
+ LISTBASE_FOREACH (MovieTrackingTrack *, track, &object->tracks) {
CALLBACK_INVOKE(track->gpd, IDWALK_CB_USER);
}
}
- for (plane_track = tracking->plane_tracks.first; plane_track;
- plane_track = plane_track->next) {
+ LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, &tracking->plane_tracks) {
CALLBACK_INVOKE(plane_track->image, IDWALK_CB_USER);
}
break;
@@ -1119,12 +1097,9 @@ static void library_foreach_ID_link(Main *bmain,
case ID_MSK: {
Mask *mask = (Mask *)id;
- MaskLayer *mask_layer;
- for (mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- MaskSpline *mask_spline;
- for (mask_spline = mask_layer->splines.first; mask_spline;
- mask_spline = mask_spline->next) {
+ LISTBASE_FOREACH (MaskLayer *, mask_layer, &mask->masklayers) {
+ LISTBASE_FOREACH (MaskSpline *, mask_spline, &mask_layer->splines) {
for (i = 0; i < mask_spline->tot_point; i++) {
MaskSplinePoint *point = &mask_spline->points[i];
CALLBACK_INVOKE_ID(point->parent.id, IDWALK_CB_USER);
@@ -1136,7 +1111,7 @@ static void library_foreach_ID_link(Main *bmain,
case ID_LS: {
FreestyleLineStyle *linestyle = (FreestyleLineStyle *)id;
- LineStyleModifier *lsm;
+
for (i = 0; i < MAX_MTEX; i++) {
if (linestyle->mtex[i]) {
library_foreach_mtex(&data, linestyle->mtex[i]);
@@ -1148,7 +1123,7 @@ static void library_foreach_ID_link(Main *bmain,
(ID **)&linestyle->nodetree, callback, user_data, flag, &data);
}
- for (lsm = linestyle->color_modifiers.first; lsm; lsm = lsm->next) {
+ LISTBASE_FOREACH (LineStyleModifier *, lsm, &linestyle->color_modifiers) {
if (lsm->type == LS_MODIFIER_DISTANCE_FROM_OBJECT) {
LineStyleColorModifier_DistanceFromObject *p =
(LineStyleColorModifier_DistanceFromObject *)lsm;
@@ -1157,7 +1132,7 @@ static void library_foreach_ID_link(Main *bmain,
}
}
}
- for (lsm = linestyle->alpha_modifiers.first; lsm; lsm = lsm->next) {
+ LISTBASE_FOREACH (LineStyleModifier *, lsm, &linestyle->alpha_modifiers) {
if (lsm->type == LS_MODIFIER_DISTANCE_FROM_OBJECT) {
LineStyleAlphaModifier_DistanceFromObject *p =
(LineStyleAlphaModifier_DistanceFromObject *)lsm;
@@ -1166,7 +1141,7 @@ static void library_foreach_ID_link(Main *bmain,
}
}
}
- for (lsm = linestyle->thickness_modifiers.first; lsm; lsm = lsm->next) {
+ LISTBASE_FOREACH (LineStyleModifier *, lsm, &linestyle->thickness_modifiers) {
if (lsm->type == LS_MODIFIER_DISTANCE_FROM_OBJECT) {
LineStyleThicknessModifier_DistanceFromObject *p =
(LineStyleThicknessModifier_DistanceFromObject *)lsm;
@@ -1233,8 +1208,7 @@ static void library_foreach_ID_link(Main *bmain,
CALLBACK_INVOKE(gpencil->mat[i], IDWALK_CB_USER);
}
- for (bGPDlayer *gplayer = gpencil->layers.first; gplayer != NULL;
- gplayer = gplayer->next) {
+ LISTBASE_FOREACH (bGPDlayer *, gplayer, &gpencil->layers) {
CALLBACK_INVOKE(gplayer->parent, IDWALK_CB_NOP);
}