[Bf-blender-cvs] [88c6d824e78] master: Nodes: ensure that node identifiers are larger than zero

Jacques Lucke noreply at git.blender.org
Fri Dec 2 11:59:33 CET 2022


Commit: 88c6d824e78ebe40b8910b109154b7491cc76afe
Author: Jacques Lucke
Date:   Fri Dec 2 11:59:20 2022 +0100
Branches: master
https://developer.blender.org/rB88c6d824e78ebe40b8910b109154b7491cc76afe

Nodes: ensure that node identifiers are larger than zero

Zero should not be a valid identifier to make it easier to detect when
the identifier has not been set after a node has been allocated.

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

M	source/blender/blenkernel/intern/node.cc
M	source/blender/blenkernel/intern/node_tree_update.cc

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

diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index d349f3e87eb..0f2b2e1c345 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -2192,7 +2192,7 @@ void nodeUniqueID(bNodeTree *ntree, bNode *node)
 
   /* In the unlikely case that the random ID doesn't match, choose a new one until it does. */
   int32_t new_id = id_rng.get_int32();
-  while (ntree->runtime->nodes_by_id.contains_as(new_id)) {
+  while (ntree->runtime->nodes_by_id.contains_as(new_id) || new_id <= 0) {
     new_id = id_rng.get_int32();
   }
 
diff --git a/source/blender/blenkernel/intern/node_tree_update.cc b/source/blender/blenkernel/intern/node_tree_update.cc
index 72ea4da7855..57d85c10677 100644
--- a/source/blender/blenkernel/intern/node_tree_update.cc
+++ b/source/blender/blenkernel/intern/node_tree_update.cc
@@ -1013,7 +1013,7 @@ class NodeTreeMainUpdater {
     /* Check the uniqueness of node identifiers. */
     Set<int32_t> node_identifiers;
     LISTBASE_FOREACH (bNode *, node, &ntree.nodes) {
-      BLI_assert(node->identifier >= 0);
+      BLI_assert(node->identifier > 0);
       node_identifiers.add_new(node->identifier);
     }
 #endif



More information about the Bf-blender-cvs mailing list