Fix T103756: wrong anonymous attribute tooltip
This commit is contained in:
parent
29a41ed6c2
commit
ca45c2dc59
Notes:
blender-bot
2023-02-13 23:17:13 +01:00
Referenced by issue #103756, Regression: Geometry Node: Anonymous attribute tooltip display wrong dependencies names
|
@ -47,6 +47,8 @@ class AnonymousAttributeID {
|
|||
return name_;
|
||||
}
|
||||
|
||||
virtual std::string user_name() const;
|
||||
|
||||
void user_add() const
|
||||
{
|
||||
users_.fetch_add(1);
|
||||
|
|
|
@ -268,7 +268,7 @@ class AnonymousAttributeFieldInput : public GeometryFieldInput {
|
|||
AnonymousAttributeFieldInput(AutoAnonymousAttributeID anonymous_id,
|
||||
const CPPType &type,
|
||||
std::string producer_name)
|
||||
: GeometryFieldInput(type, anonymous_id->name()),
|
||||
: GeometryFieldInput(type, anonymous_id->user_name()),
|
||||
anonymous_id_(std::move(anonymous_id)),
|
||||
producer_name_(producer_name)
|
||||
{
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
|
||||
namespace blender::bke {
|
||||
|
||||
std::string AnonymousAttributeID::user_name() const
|
||||
{
|
||||
return this->name();
|
||||
}
|
||||
|
||||
bool AnonymousAttributePropagationInfo::propagate(const AnonymousAttributeID &anonymous_id) const
|
||||
{
|
||||
if (this->propagate_all) {
|
||||
|
|
|
@ -49,12 +49,16 @@ using geo_eval_log::NodeWarningType;
|
|||
*/
|
||||
class NodeAnonymousAttributeID : public AnonymousAttributeID {
|
||||
std::string long_name_;
|
||||
std::string socket_name_;
|
||||
|
||||
public:
|
||||
NodeAnonymousAttributeID(const Object &object,
|
||||
const ComputeContext &compute_context,
|
||||
const bNode &bnode,
|
||||
const StringRef identifier);
|
||||
const StringRef identifier,
|
||||
const StringRef name);
|
||||
|
||||
std::string user_name() const override;
|
||||
};
|
||||
|
||||
class GeoNodeExecParams {
|
||||
|
@ -288,13 +292,15 @@ class GeoNodeExecParams {
|
|||
if (!this->anonymous_attribute_output_is_required(output_identifier) && !force_create) {
|
||||
return {};
|
||||
}
|
||||
const bNodeSocket &output_socket = node_.output_by_identifier(output_identifier);
|
||||
const GeoNodesLFUserData &user_data = *this->user_data();
|
||||
const ComputeContext &compute_context = *user_data.compute_context;
|
||||
return MEM_new<NodeAnonymousAttributeID>(__func__,
|
||||
*user_data.modifier_data->self_object,
|
||||
compute_context,
|
||||
node_,
|
||||
output_identifier);
|
||||
output_identifier,
|
||||
output_socket.name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,7 +18,9 @@ namespace blender::nodes {
|
|||
NodeAnonymousAttributeID::NodeAnonymousAttributeID(const Object &object,
|
||||
const ComputeContext &compute_context,
|
||||
const bNode &bnode,
|
||||
const StringRef identifier)
|
||||
const StringRef identifier,
|
||||
const StringRef name)
|
||||
: socket_name_(name)
|
||||
{
|
||||
const ComputeContextHash &hash = compute_context.hash();
|
||||
{
|
||||
|
@ -36,6 +38,11 @@ NodeAnonymousAttributeID::NodeAnonymousAttributeID(const Object &object,
|
|||
}
|
||||
}
|
||||
|
||||
std::string NodeAnonymousAttributeID::user_name() const
|
||||
{
|
||||
return socket_name_;
|
||||
}
|
||||
|
||||
void GeoNodeExecParams::error_message_add(const NodeWarningType type,
|
||||
const StringRef message) const
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue