[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