[Bf-blender-cvs] [00ee3960e0b] master: Cleanup: reduce variable scopes

Jacques Lucke noreply at git.blender.org
Fri Oct 16 17:30:22 CEST 2020


Commit: 00ee3960e0b30db90e8ed05a3d77af1f1e866e96
Author: Jacques Lucke
Date:   Fri Oct 16 17:30:12 2020 +0200
Branches: master
https://developer.blender.org/rB00ee3960e0b30db90e8ed05a3d77af1f1e866e96

Cleanup: reduce variable scopes

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

M	source/blender/editors/space_node/node_group.c

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

diff --git a/source/blender/editors/space_node/node_group.c b/source/blender/editors/space_node/node_group.c
index f376ff984ad..c74593f73bf 100644
--- a/source/blender/editors/space_node/node_group.c
+++ b/source/blender/editors/space_node/node_group.c
@@ -138,12 +138,11 @@ static int node_group_edit_exec(bContext *C, wmOperator *op)
 {
   SpaceNode *snode = CTX_wm_space_node(C);
   const char *node_idname = group_node_idname(C);
-  bNode *gnode;
   const bool exit = RNA_boolean_get(op->ptr, "exit");
 
   ED_preview_kill_jobs(CTX_wm_manager(C), CTX_data_main(C));
 
-  gnode = node_group_get_active(C, node_idname);
+  bNode *gnode = node_group_get_active(C, node_idname);
 
   if (gnode && !exit) {
     bNodeTree *ngroup = (bNodeTree *)gnode->id;
@@ -203,30 +202,24 @@ static void animation_basepath_change_free(AnimationBasePathChange *basepath_cha
 /* returns 1 if its OK */
 static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
 {
-  bNodeLink *link, *linkn, *tlink;
-  bNode *node, *nextnode;
-  bNodeTree *ngroup, *wgroup;
-  ListBase anim_basepaths = {NULL, NULL};
-  LinkNode *nodes_delayed_free = NULL;
-
-  ngroup = (bNodeTree *)gnode->id;
-
   /* clear new pointers, set in copytree */
-  for (node = ntree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
     node->new_node = NULL;
   }
 
+  ListBase anim_basepaths = {NULL, NULL};
+  LinkNode *nodes_delayed_free = NULL;
+  bNodeTree *ngroup = (bNodeTree *)gnode->id;
+
   /* wgroup is a temporary copy of the NodeTree we're merging in
    * - all of wgroup's nodes are copied across to their new home
    * - ngroup (i.e. the source NodeTree) is left unscathed
    * - temp copy. do change ID usercount for the copies
    */
-  wgroup = ntreeCopyTree_ex_new_pointers(ngroup, bmain, true);
+  bNodeTree *wgroup = ntreeCopyTree_ex_new_pointers(ngroup, bmain, true);
 
   /* Add the nodes into the ntree */
-  for (node = wgroup->nodes.first; node; node = nextnode) {
-    nextnode = node->next;
-
+  LISTBASE_FOREACH_MUTABLE (bNode *, node, &wgroup->nodes) {
     /* Remove interface nodes.
      * This also removes remaining links to and from interface nodes.
      */
@@ -271,8 +264,7 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
   bNodeLink *glinks_first = ntree->links.last;
 
   /* Add internal links to the ntree */
-  for (link = wgroup->links.first; link; link = linkn) {
-    linkn = link->next;
+  LISTBASE_FOREACH_MUTABLE (bNodeLink *, link, &wgroup->links) {
     BLI_remlink(&wgroup->links, link);
     BLI_addtail(&ntree->links, link);
   }
@@ -310,13 +302,14 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
 
   /* input links */
   if (glinks_first != NULL) {
-    for (link = glinks_first->next; link != glinks_last->next; link = link->next) {
+    for (bNodeLink *link = glinks_first->next; link != glinks_last->next; link = link->next) {
       if (link->fromnode->type == NODE_GROUP_INPUT) {
         const char *identifier = link->fromsock->identifier;
         int num_external_links = 0;
 
         /* find external links to this input */
-        for (tlink = ntree->links.first; tlink != glinks_first->next; tlink = tlink->next) {
+        for (bNodeLink *tlink = ntree->links.first; tlink != glinks_first->next;
+             tlink = tlink->next) {
           if (tlink->tonode == gnode && STREQ(tlink->tosock->identifier, identifier)) {
             nodeAddLink(ntree, tlink->fromnode, tlink->fromsock, link->tonode, link->tosock);
             num_external_links++;
@@ -342,13 +335,14 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
     glinks_last = ntree->links.last;
 
     /* output links */
-    for (link = ntree->links.first; link != glinks_first->next; link = link->next) {
+    for (bNodeLink *link = ntree->links.first; link != glinks_first->next; link = link->next) {
       if (link->fromnode == gnode) {
         const char *identifier = link->fromsock->identifier;
         int num_internal_links = 0;
 
         /* find internal links to this output */
-        for (tlink = glinks_first->next; tlink != glinks_last->next; tlink = tlink->next) {
+        for (bNodeLink *tlink = glinks_first->next; tlink != glinks_last->next;
+             tlink = tlink->next) {
           /* only use active output node */
           if (tlink->tonode->type == NODE_GROUP_OUTPUT && (tlink->tonode->flag & NODE_DO_OUTPUT)) {
             if (STREQ(tlink->tosock->identifier, identifier)) {
@@ -374,7 +368,7 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
   }
 
   while (nodes_delayed_free) {
-    node = BLI_linklist_pop(&nodes_delayed_free);
+    bNode *node = BLI_linklist_pop(&nodes_delayed_free);
     nodeRemoveNode(bmain, ntree, node, false);
   }
 
@@ -391,11 +385,10 @@ static int node_group_ungroup_exec(bContext *C, wmOperator *op)
   Main *bmain = CTX_data_main(C);
   SpaceNode *snode = CTX_wm_space_node(C);
   const char *node_idname = group_node_idname(C);
-  bNode *gnode;
 
   ED_preview_kill_jobs(CTX_wm_manager(C), bmain);
 
-  gnode = node_group_get_active(C, node_idname);
+  bNode *gnode = node_group_get_active(C, node_idname);
   if (!gnode) {
     return OPERATOR_CANCELLED;
   }
@@ -435,23 +428,20 @@ void NODE_OT_group_ungroup(wmOperatorType *ot)
 static int node_group_separate_selected(
     Main *bmain, bNodeTree *ntree, bNodeTree *ngroup, float offx, float offy, int make_copy)
 {
-  bNodeLink *link, *link_next;
-  bNode *node, *node_next, *newnode;
-  ListBase anim_basepaths = {NULL, NULL};
-
   /* deselect all nodes in the target tree */
-  for (node = ntree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
     nodeSetSelected(node, false);
   }
 
   /* clear new pointers, set in BKE_node_copy_ex(). */
-  for (node = ngroup->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) {
     node->new_node = NULL;
   }
 
+  ListBase anim_basepaths = {NULL, NULL};
+
   /* add selected nodes into the ntree */
-  for (node = ngroup->nodes.first; node; node = node_next) {
-    node_next = node->next;
+  LISTBASE_FOREACH_MUTABLE (bNode *, node, &ngroup->nodes) {
     if (!(node->flag & NODE_SELECT)) {
       continue;
     }
@@ -462,6 +452,7 @@ static int node_group_separate_selected(
       continue;
     }
 
+    bNode *newnode;
     if (make_copy) {
       /* make a copy */
       newnode = BKE_node_copy_store_new_pointers(ngroup, node, LIB_ID_COPY_DEFAULT);
@@ -505,10 +496,9 @@ static int node_group_separate_selected(
   }
 
   /* add internal links to the ntree */
-  for (link = ngroup->links.first; link; link = link_next) {
+  LISTBASE_FOREACH_MUTABLE (bNodeLink *, link, &ngroup->links) {
     const bool fromselect = (link->fromnode && (link->fromnode->flag & NODE_SELECT));
     const bool toselect = (link->tonode && (link->tonode->flag & NODE_SELECT));
-    link_next = link->next;
 
     if (make_copy) {
       /* make a copy of internal links */
@@ -568,20 +558,19 @@ static int node_group_separate_exec(bContext *C, wmOperator *op)
 {
   Main *bmain = CTX_data_main(C);
   SpaceNode *snode = CTX_wm_space_node(C);
-  bNodeTree *ngroup, *nparent;
   int type = RNA_enum_get(op->ptr, "type");
-  float offx, offy;
 
   ED_preview_kill_jobs(CTX_wm_manager(C), bmain);
 
   /* are we inside of a group? */
-  ngroup = snode->edittree;
-  nparent = ED_node_tree_get(snode, 1);
+  bNodeTree *ngroup = snode->edittree;
+  bNodeTree *nparent = ED_node_tree_get(snode, 1);
   if (!nparent) {
     BKE_report(op->reports, RPT_WARNING, "Not inside node group");
     return OPERATOR_CANCELLED;
   }
   /* get node tree offset */
+  float offx, offy;
   space_node_group_offset(snode, &offx, &offy);
 
   switch (type) {
@@ -658,16 +647,13 @@ static bool node_group_make_test_selected(bNodeTree *ntree,
                                           const char *ntree_idname,
                                           struct ReportList *reports)
 {
-  bNodeTree *ngroup;
-  bNode *node;
-  bNodeLink *link;
   int ok = true;
 
   /* make a local pseudo node tree to pass to the node poll functions */
-  ngroup = ntreeAddTree(NULL, "Pseudo Node Group", ntree_idname);
+  bNodeTree *ngroup = ntreeAddTree(NULL, "Pseudo Node Group", ntree_idname);
 
   /* check poll functions for selected nodes */
-  for (node = ntree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
     if (node_group_make_use_node(node, gnode)) {
       if (node->typeinfo->poll_instance && !node->typeinfo->poll_instance(node, ngroup)) {
         BKE_reportf(reports, RPT_WARNING, "Can not add node '%s' in a group", node->name);
@@ -688,7 +674,7 @@ static bool node_group_make_test_selected(bNodeTree *ntree,
 
   /* check if all connections are OK, no unselected node has both
    * inputs and outputs to a selection */
-  for (link = ntree->links.first; link; link = link->next) {
+  LISTBASE_FOREACH (bNodeLink *, link, &ntree->links) {
     if (node_group_make_use_node(link->fromnode, gnode)) {
       link->tonode->done |= 1;
     }
@@ -696,7 +682,7 @@ static bool node_group_make_test_selected(bNodeTree *ntree,
       link->fromnode->done |= 2;
     }
   }
-  for (node = ntree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
     if (!(node->flag & NODE_SELECT) && node != gnode && node->done == 3) {
       return false;
     }
@@ -707,13 +693,12 @@ static bool node_group_make_test_selected(bNodeTree *ntree,
 static int node_get_selected_minmax(
     bNodeTree *ntree, bNode *gnode, float *min, float *max, bool use_size)
 {
-  bNode *node;
-  float loc[2];
   int totselect = 0;
 
   INIT_MINMAX2(min, max);
-  for (node = ntree->nodes.first; node; node = node->next) {
+  LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
     if (node_group_make_use_node(node, gnode)) {
+      float loc[2];
       nodeToView(node, 0.0f, 0.0f, &loc[0], &loc[1]);
       minmax_v2v2_v2(min, max, loc);
       if (use_size) {
@@ -737,28 +722,23 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
 {
   Main *bmain = CTX_data_m

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list