diff options
author | miwanczuk <miwanczuk7@gmail.com> | 2019-08-11 14:13:33 +0200 |
---|---|---|
committer | miwanczuk <mwianczuk7@gmail.com> | 2019-08-12 17:06:44 +0200 |
commit | 98a3b2e5f48444a95ac5382d18ae5ab1fe8683f7 (patch) | |
tree | 31eed03637cf6875de3baae5296b3f866e37072a /core | |
parent | 3418f76a9eab9f496e5b26310bd3bc1125b8119b (diff) |
Fixes issue when inspecting nodes that are not in the tree
Diffstat (limited to 'core')
-rw-r--r-- | core/script_debugger_remote.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/script_debugger_remote.cpp b/core/script_debugger_remote.cpp index 5f01e043c4..6dd9054aaa 100644 --- a/core/script_debugger_remote.cpp +++ b/core/script_debugger_remote.cpp @@ -601,9 +601,19 @@ void ScriptDebuggerRemote::_send_object_id(ObjectID p_id) { } } } + if (Node *node = Object::cast_to<Node>(obj)) { - PropertyInfo pi(Variant::NODE_PATH, String("Node/path")); - properties.push_front(PropertyDesc(pi, node->get_path())); + // in some cases node will not be in tree here + // for instance where it created as variable and not yet added to tree + // in such cases we can't ask for it's path + if (node->is_inside_tree()) { + PropertyInfo pi(Variant::NODE_PATH, String("Node/path")); + properties.push_front(PropertyDesc(pi, node->get_path())); + } else { + PropertyInfo pi(Variant::STRING, String("Node/path")); + properties.push_front(PropertyDesc(pi, "[Orphan]")); + } + } else if (Resource *res = Object::cast_to<Resource>(obj)) { if (Script *s = Object::cast_to<Script>(res)) { Map<StringName, Variant> constants; |