[Bf-blender-cvs] [56ed4c14d3c] master: Cleanup: Use LISTBASE_FOREACH macro

Hans Goudey noreply at git.blender.org
Fri Dec 3 22:33:23 CET 2021


Commit: 56ed4c14d3c867f57b97881c9de01c4ee634b31c
Author: Hans Goudey
Date:   Fri Dec 3 16:33:14 2021 -0500
Branches: master
https://developer.blender.org/rB56ed4c14d3c867f57b97881c9de01c4ee634b31c

Cleanup: Use LISTBASE_FOREACH macro

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

M	source/blender/editors/space_node/node_select.cc

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

diff --git a/source/blender/editors/space_node/node_select.cc b/source/blender/editors/space_node/node_select.cc
index 6a566fa45d5..414ba7be40e 100644
--- a/source/blender/editors/space_node/node_select.cc
+++ b/source/blender/editors/space_node/node_select.cc
@@ -102,9 +102,7 @@ static bool has_workbench_in_texture_color(const wmWindowManager *wm,
 
 static bNode *node_under_mouse_select(bNodeTree &ntree, int mx, int my)
 {
-  bNode *node;
-
-  for (node = (bNode *)ntree.nodes.last; node; node = node->prev) {
+  LISTBASE_FOREACH_BACKWARD (bNode *, node, &ntree.nodes) {
     if (node->typeinfo->select_area_func) {
       if (node->typeinfo->select_area_func(node, mx, my)) {
         return node;
@@ -116,9 +114,7 @@ static bNode *node_under_mouse_select(bNodeTree &ntree, int mx, int my)
 
 static bNode *node_under_mouse_tweak(bNodeTree &ntree, const float2 &mouse)
 {
-  bNode *node;
-
-  for (node = (bNode *)ntree.nodes.last; node; node = node->prev) {
+  LISTBASE_FOREACH_BACKWARD (bNode *, node, &ntree.nodes) {
     if (node->typeinfo->tweak_area_func) {
       if (node->typeinfo->tweak_area_func(node, (int)mouse.x, (int)mouse.y)) {
         return node;
@@ -214,26 +210,23 @@ void node_deselect_all(SpaceNode &snode)
 
 void node_deselect_all_input_sockets(SpaceNode &snode, const bool deselect_nodes)
 {
-  bNode *node;
-  bNodeSocket *sock;
-
   /* XXX not calling node_socket_deselect here each time, because this does iteration
    * over all node sockets internally to check if the node stays selected.
    * We can do that more efficiently here.
    */
 
-  for (node = (bNode *)snode.edittree->nodes.first; node; node = node->next) {
-    int sel = 0;
+  LISTBASE_FOREACH (bNode *, node, &snode.edittree->nodes) {
+    bool sel = false;
 
-    for (sock = (bNodeSocket *)node->inputs.first; sock; sock = sock->next) {
-      sock->flag &= ~SELECT;
+    LISTBASE_FOREACH (bNodeSocket *, socket, &node->inputs) {
+      socket->flag &= ~SELECT;
     }
 
     /* if no selected sockets remain, also deselect the node */
     if (deselect_nodes) {
-      for (sock = (bNodeSocket *)node->outputs.first; sock; sock = sock->next) {
-        if (sock->flag & SELECT) {
-          sel = 1;
+      LISTBASE_FOREACH (bNodeSocket *, socket, &node->outputs) {
+        if (socket->flag & SELECT) {
+          sel = true;
           break;
         }
       }
@@ -247,25 +240,22 @@ void node_deselect_all_input_sockets(SpaceNode &snode, const bool deselect_nodes
 
 void node_deselect_all_output_sockets(SpaceNode &snode, const bool deselect_nodes)
 {
-  bNode *node;
-  bNodeSocket *sock;
-
   /* XXX not calling node_socket_deselect here each time, because this does iteration
    * over all node sockets internally to check if the node stays selected.
    * We can do that more efficiently here.
    */
 
-  for (node = (bNode *)snode.edittree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &snode.edittree->nodes) {
     bool sel = false;
 
-    for (sock = (bNodeSocket *)node->outputs.first; sock; sock = sock->next) {
-      sock->flag &= ~SELECT;
+    LISTBASE_FOREACH (bNodeSocket *, socket, &node->outputs) {
+      socket->flag &= ~SELECT;
     }
 
     /* if no selected sockets remain, also deselect the node */
     if (deselect_nodes) {
-      for (sock = (bNodeSocket *)node->inputs.first; sock; sock = sock->next) {
-        if (sock->flag & SELECT) {
+      LISTBASE_FOREACH (bNodeSocket *, socket, &node->inputs) {
+        if (socket->flag & SELECT) {
           sel = true;
           break;
         }
@@ -305,10 +295,9 @@ static bool node_select_grouped_type(SpaceNode *snode, bNode *node_act)
 
 static bool node_select_grouped_color(SpaceNode *snode, bNode *node_act)
 {
-  bNode *node;
   bool changed = false;
 
-  for (node = (bNode *)snode->edittree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &snode->edittree->nodes) {
     if ((node->flag & SELECT) == 0) {
       if (compare_v3v3(node->color, node_act->color, 0.005f)) {
         nodeSetSelected(node, true);



More information about the Bf-blender-cvs mailing list