diff options
-rw-r--r-- | source/blender/functions/FN_field.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/functions/FN_field.hh b/source/blender/functions/FN_field.hh index 730a8046646..d6259bce435 100644 --- a/source/blender/functions/FN_field.hh +++ b/source/blender/functions/FN_field.hh @@ -151,12 +151,14 @@ template<typename NodePtr> class GFieldBase { friend bool operator==(const GFieldBase &a, const GFieldBase &b) { - return &*a.node_ == &*b.node_ && a.node_output_index_ == b.node_output_index_; + /* Two nodes can compare equal even when their pointer is not the same. For example, two + * "Position" nodes are the same. */ + return *a.node_ == *b.node_ && a.node_output_index_ == b.node_output_index_; } uint64_t hash() const { - return get_default_hash_2(node_, node_output_index_); + return get_default_hash_2(*node_, node_output_index_); } const fn::CPPType &cpp_type() const |