[Bf-blender-cvs] [262efaf8605] node-tree-update-refactor: cleanup

Jacques Lucke noreply at git.blender.org
Mon Nov 15 19:09:21 CET 2021


Commit: 262efaf86054ae1d0421d0296935c1a44b341b6d
Author: Jacques Lucke
Date:   Thu Nov 11 13:47:21 2021 +0100
Branches: node-tree-update-refactor
https://developer.blender.org/rB262efaf86054ae1d0421d0296935c1a44b341b6d

cleanup

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

M	source/blender/blenkernel/BKE_node_tree_update.h
M	source/blender/blenkernel/intern/node_tree_update.cc
M	source/blender/editors/space_node/node_edit.cc

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

diff --git a/source/blender/blenkernel/BKE_node_tree_update.h b/source/blender/blenkernel/BKE_node_tree_update.h
index 25d43637d36..c4d742c1d0d 100644
--- a/source/blender/blenkernel/BKE_node_tree_update.h
+++ b/source/blender/blenkernel/BKE_node_tree_update.h
@@ -58,6 +58,9 @@ typedef struct NodeTreeUpdateExtraParams {
    */
   struct bNodeTree *only_tagged_tree;
 
+  /**
+   * Data passed into the callbacks.
+   */
   void *user_data;
 
   /**
@@ -67,8 +70,7 @@ typedef struct NodeTreeUpdateExtraParams {
   void (*tree_changed_fn)(struct ID *, struct bNodeTree *, void *user_data);
 
   /**
-   * Called for every tree whose interface (e.g. input sockets) changed in some way. Other
-   * (non-node-tree) data blocks may have to update when that happens.
+   * Called for every tree whose interface (e.g. input sockets) changed in some way.
    */
   void (*tree_interface_changed_fn)(struct ID *, struct bNodeTree *, void *user_data);
 
@@ -79,7 +81,10 @@ typedef struct NodeTreeUpdateExtraParams {
   void (*tree_output_changed_fn)(struct ID *, struct bNodeTree *, void *user_data);
 } NodeTreeUpdateExtraParams;
 
-void BKE_node_tree_update(struct Main *bmain, struct NodeTreeUpdateExtraParams *params);
+/**
+ * Updates #bmain based on changes to node trees.
+ */
+void BKE_node_tree_update_main(struct Main *bmain, struct NodeTreeUpdateExtraParams *params);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/node_tree_update.cc b/source/blender/blenkernel/intern/node_tree_update.cc
index c16f9e5afee..2b05f88ffc4 100644
--- a/source/blender/blenkernel/intern/node_tree_update.cc
+++ b/source/blender/blenkernel/intern/node_tree_update.cc
@@ -85,7 +85,7 @@ void BKE_node_tree_update_tag_interface(bNodeTree *tree)
   tree->update |= NTREE_UPDATE;
 }
 
-void BKE_node_tree_update(Main *bmain, NodeTreeUpdateExtraParams *params)
+void BKE_node_tree_update_main(Main *bmain, NodeTreeUpdateExtraParams *params)
 {
   FOREACH_NODETREE_BEGIN (bmain, ntree, id) {
     ntreeUpdateTree(bmain, ntree);
diff --git a/source/blender/editors/space_node/node_edit.cc b/source/blender/editors/space_node/node_edit.cc
index 85cf5a9116d..9ceb7e5fadb 100644
--- a/source/blender/editors/space_node/node_edit.cc
+++ b/source/blender/editors/space_node/node_edit.cc
@@ -470,23 +470,6 @@ static void handle_tree_change(ID *id, bNodeTree *ntree)
   }
 }
 
-static void handle_tree_interface_change(Main *bmain, bNodeTree *ntree)
-{
-  if (ntree->type != NTREE_GEOMETRY) {
-    return;
-  }
-  LISTBASE_FOREACH (Object *, object, &bmain->objects) {
-    LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
-      if (md->type == eModifierType_Nodes) {
-        NodesModifierData *nmd = (NodesModifierData *)md;
-        if (nmd->node_group == ntree) {
-          MOD_nodes_update_interface(object, nmd);
-        }
-      }
-    }
-  }
-}
-
 void ED_node_tree_propagate_change(bContext *UNUSED(C), Main *bmain, bNodeTree *only_tagged_tree)
 {
   struct UserData {
@@ -499,10 +482,6 @@ void ED_node_tree_propagate_change(bContext *UNUSED(C), Main *bmain, bNodeTree *
   params.tree_changed_fn = [](ID *id, bNodeTree *ntree, void *UNUSED(user_data)) {
     handle_tree_change(id, ntree);
   };
-  params.tree_interface_changed_fn = [](ID *UNUSED(id), bNodeTree *ntree, void *user_data) {
-    UserData *data = (UserData *)user_data;
-    handle_tree_interface_change(data->bmain, ntree);
-  };
   params.tree_output_changed_fn = [](ID *id, bNodeTree *ntree, void *UNUSED(user_data)) {
     if (id != nullptr) {
       DEG_id_tag_update(id, 0);
@@ -510,7 +489,7 @@ void ED_node_tree_propagate_change(bContext *UNUSED(C), Main *bmain, bNodeTree *
     DEG_id_tag_update(&ntree->id, 0);
   };
 
-  BKE_node_tree_update(bmain, &params);
+  BKE_node_tree_update_main(bmain, &params);
 }
 
 void ED_node_set_tree_type(SpaceNode *snode, bNodeTreeType *typeinfo)



More information about the Bf-blender-cvs mailing list