[Bf-blender-cvs] [0d51558400e] temp-node-error-messages: Testing changes

Hans Goudey noreply at git.blender.org
Tue Jan 19 19:57:14 CET 2021


Commit: 0d51558400e23b9cc858718bb71efec31129b9cb
Author: Hans Goudey
Date:   Fri Jan 15 19:02:15 2021 -0600
Branches: temp-node-error-messages
https://developer.blender.org/rB0d51558400e23b9cc858718bb71efec31129b9cb

Testing changes

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

M	source/blender/blenkernel/intern/node.cc
M	source/blender/modifiers/intern/MOD_nodes.cc

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

diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index c920a59fa61..6eccfb8a930 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -134,7 +134,9 @@ void BKE_nodetree_error_message_add(bNodeTree *ntree, const bNode *node, const c
 void BKE_nodetree_error_messages_clear(bNodeTree *ntree)
 {
   bNodeTreeRuntime *runtime = ntree->runtime;
-  runtime->error_messages.clear();
+  if (runtime != nullptr) {
+    runtime->error_messages.clear();
+  }
 }
 
 const char *BKE_nodetree_error_message_get(const bNodeTree *ntree, const bNode *node)
@@ -144,10 +146,12 @@ const char *BKE_nodetree_error_message_get(const bNodeTree *ntree, const bNode *
   if (runtime == nullptr) {
     return nullptr;
   }
-  if (runtime->error_messages.contains(std::string(node->name))) {
+
+  const std::string node_name = std::string(node->name);
+  if (runtime->error_messages.contains(node_name)) {
     return nullptr;
   }
-  std::string message = runtime->error_messages.lookup(std::string(node->name));
+  std::string message = runtime->error_messages.lookup(node_name);
   return message.data();
 }
 
diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc
index b3fe2dea6c1..31449f5a385 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -244,6 +244,7 @@ class GeometryNodesEvaluator {
 
   Vector<GMutablePointer> execute()
   {
+    BKE_nodetree_error_messages_clear(&btree_);
     Vector<GMutablePointer> results;
     for (const DInputSocket *group_output : group_outputs_) {
       GMutablePointer result = this->get_input_value(*group_output);



More information about the Bf-blender-cvs mailing list