[Bf-blender-cvs] [afeddd42e65] blender-v2.83-release: Cleanup: use LISTBASE_FOREACH iterator everywhere possible in libquery.

Bastien Montagne noreply at git.blender.org
Wed Apr 29 10:53:39 CEST 2020


Commit: afeddd42e653be2853515eb364fcd363c9023c3a
Author: Bastien Montagne
Date:   Wed Apr 29 10:52:01 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBafeddd42e653be2853515eb364fcd363c9023c3a

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...).

===================================================================

M	source/blender/blenkernel/intern/lib_query.c

===================================================================

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_F

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list