diff options
author | Bartłomiej T. Listwon <blistwon@gmail.com> | 2022-01-19 11:33:27 +0100 |
---|---|---|
committer | Bartłomiej T. Listwon <blistwon@gmail.com> | 2022-01-19 21:38:18 +0100 |
commit | e2792cc71caa89997c0127abd5bb4b0e19d67f46 (patch) | |
tree | bd5b4584d14da11759b4db31b2806ac2fb3cf164 /scene | |
parent | f8b8d0d4b82a5eb6ea3829398fd5076f1c49c148 (diff) |
Rework Node::get_node to omit is_absolute() check in best case scenario
Diffstat (limited to 'scene')
-rw-r--r-- | scene/main/node.cpp | 14 |
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; |