summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-05-18 15:19:17 +0200
committerGitHub <noreply@github.com>2022-05-18 15:19:17 +0200
commit2f3a8a3d61ab54704c91cb021287806c52f63fcc (patch)
tree684f7428889986094ebaa9a9ce1a9f2104f18f90
parent3ec398420490d7c4bbf0aad27be082d43e105085 (diff)
parent3e96abce07f88b5e32c619d94a602b81bd8c27c0 (diff)
Merge pull request #61095 from BimDav/get_node_and_resource
Fix a bug in get_node_and_resource when the property is set to null
-rw-r--r--scene/main/node.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 0c1a62c667..bd791dff2a 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -2528,9 +2528,10 @@ Node *Node::get_node_and_resource(const NodePath &p_path, Ref<Resource> &r_res,
int j = 0;
// If not p_last_is_property, we shouldn't consider the last one as part of the resource
for (; j < p_path.get_subname_count() - (int)p_last_is_property; j++) {
- Variant new_res_v = j == 0 ? node->get(p_path.get_subname(j)) : r_res->get(p_path.get_subname(j));
+ bool is_valid = false;
+ Variant new_res_v = j == 0 ? node->get(p_path.get_subname(j), &is_valid) : r_res->get(p_path.get_subname(j), &is_valid);
- if (new_res_v.get_type() == Variant::NIL) { // Found nothing on that path
+ if (!is_valid) { // Found nothing on that path
return nullptr;
}