[Bf-blender-cvs] [a4833de0ddb] temp-node-error-messages: Merge branch 'master' into node-error-messages-v2

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


Commit: a4833de0ddb2f7895f86867d74107729e650ccd4
Author: Hans Goudey
Date:   Tue Jan 19 10:42:18 2021 -0600
Branches: temp-node-error-messages
https://developer.blender.org/rBa4833de0ddb2f7895f86867d74107729e650ccd4

Merge branch 'master' into node-error-messages-v2

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



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

diff --cc source/blender/modifiers/intern/MOD_nodes.cc
index 31449f5a385,6da2ecba6a7..fdbdfebb443
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@@ -222,16 -221,16 +222,18 @@@ class GeometryNodesEvaluator 
    const blender::nodes::DataTypeConversions &conversions_;
    const PersistentDataHandleMap &handle_map_;
    const Object *self_object_;
+   Depsgraph *depsgraph_;
  
   public:
 -  GeometryNodesEvaluator(const Map<const DOutputSocket *, GMutablePointer> &group_input_data,
 +  GeometryNodesEvaluator(bNodeTree &btree,
 +                         const Map<const DOutputSocket *, GMutablePointer> &group_input_data,
                           Vector<const DInputSocket *> group_outputs,
                           blender::nodes::MultiFunctionByNode &mf_by_node,
                           const PersistentDataHandleMap &handle_map,
-                          const Object *self_object)
+                          const Object *self_object,
+                          Depsgraph *depsgraph)
 -      : group_outputs_(std::move(group_outputs)),
 +      : btree_(btree),
 +        group_outputs_(std::move(group_outputs)),
          mf_by_node_(mf_by_node),
          conversions_(blender::nodes::get_implicit_type_conversions()),
          handle_map_(handle_map),
@@@ -311,7 -310,7 +314,7 @@@
      /* Execute the node. */
      GValueMap<StringRef> node_outputs_map{allocator_};
      GeoNodeExecParams params{
-         btree_, bnode, node_inputs_map, node_outputs_map, handle_map_, self_object_};
 -        bnode, node_inputs_map, node_outputs_map, handle_map_, self_object_, depsgraph_};
++        btree_, bnode, node_inputs_map, node_outputs_map, handle_map_, self_object_, depsgraph_};
      this->execute_node(node, params);
  
      /* Forward computed outputs to linked input sockets. */
@@@ -930,9 -929,8 +933,9 @@@ static GeometrySet compute_geometry(con
    Vector<const DInputSocket *> group_outputs;
    group_outputs.append(&socket_to_compute);
  
 +  bNodeTree *ntree = tree.btree();
    GeometryNodesEvaluator evaluator{
-       *ntree, group_inputs, group_outputs, mf_by_node, handle_map, ctx->object};
 -      group_inputs, group_outputs, mf_by_node, handle_map, ctx->object, ctx->depsgraph};
++      *ntree, group_inputs, group_outputs, mf_by_node, handle_map, ctx->object, ctx->depsgraph};
    Vector<GMutablePointer> results = evaluator.execute();
    BLI_assert(results.size() == 1);
    GMutablePointer result = results[0];
diff --cc source/blender/nodes/NOD_geometry_exec.hh
index 76204149a82,3820c0f0009..57f0875af30
--- a/source/blender/nodes/NOD_geometry_exec.hh
+++ b/source/blender/nodes/NOD_geometry_exec.hh
@@@ -56,16 -56,16 +58,18 @@@ class GeoNodeExecParams 
    GValueMap<StringRef> &output_values_;
    const PersistentDataHandleMap &handle_map_;
    const Object *self_object_;
+   Depsgraph *depsgraph_;
  
   public:
 -  GeoNodeExecParams(const bNode &node,
 +  GeoNodeExecParams(bNodeTree &ntree,
 +                    const bNode &node,
                      GValueMap<StringRef> &input_values,
                      GValueMap<StringRef> &output_values,
                      const PersistentDataHandleMap &handle_map,
-                     const Object *self_object)
+                     const Object *self_object,
+                     Depsgraph *depsgraph)
 -      : node_(node),
 +      : ntree_(ntree),
 +        node_(node),
          input_values_(input_values),
          output_values_(output_values),
          handle_map_(handle_map),
@@@ -167,11 -168,11 +172,19 @@@
      return self_object_;
    }
  
+   Depsgraph *depsgraph() const
+   {
+     return depsgraph_;
+   }
+ 
 +  void add_error_message(StringRef message)
 +  {
-     BKE_nodetree_error_message_add(&ntree_, &node_, message.data());
++    bNodeTree *original_ntree = (bNodeTree *)DEG_get_original_id(&(ID &)ntree_);
++    if (original_ntree != nullptr) {
++      BKE_nodetree_error_message_add(original_ntree, &node_, message.data());
++    }
 +  }
 +
    /**
     * Creates a read-only attribute based on node inputs. The method automatically detects which
     * input with the given name is available.



More information about the Bf-blender-cvs mailing list