summaryrefslogtreecommitdiff
path: root/scene/main
diff options
context:
space:
mode:
authorBartłomiej T. Listwon <blistwon@gmail.com>2022-01-19 11:33:27 +0100
committerBartłomiej T. Listwon <blistwon@gmail.com>2022-01-19 21:38:18 +0100
commite2792cc71caa89997c0127abd5bb4b0e19d67f46 (patch)
treebd5b4584d14da11759b4db31b2806ac2fb3cf164 /scene/main
parentf8b8d0d4b82a5eb6ea3829398fd5076f1c49c148 (diff)
Rework Node::get_node to omit is_absolute() check in best case scenario
Diffstat (limited to 'scene/main')
-rw-r--r--scene/main/node.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 9d96c71113..416dec3e4f 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -1316,12 +1316,14 @@ Node *Node::get_node_or_null(const NodePath &p_path) const {
Node *Node::get_node(const NodePath &p_path) const {
Node *node = get_node_or_null(p_path);
- if (p_path.is_absolute()) {
- ERR_FAIL_COND_V_MSG(!node, nullptr,
- vformat(R"(Node not found: "%s" (absolute path attempted from "%s").)", p_path, get_path()));
- } else {
- ERR_FAIL_COND_V_MSG(!node, nullptr,
- vformat(R"(Node not found: "%s" (relative to "%s").)", p_path, get_path()));
+ if (unlikely(!node)) {
+ if (p_path.is_absolute()) {
+ ERR_FAIL_V_MSG(nullptr,
+ vformat(R"(Node not found: "%s" (absolute path attempted from "%s").)", p_path, get_path()));
+ } else {
+ ERR_FAIL_V_MSG(nullptr,
+ vformat(R"(Node not found: "%s" (relative to "%s").)", p_path, get_path()));
+ }
}
return node;