diff options
author | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2020-05-08 12:43:23 +0200 |
---|---|---|
committer | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2020-05-08 12:43:23 +0200 |
commit | 4e14eefd94a4e211fb7d908fe8d74bddd5429c6f (patch) | |
tree | 984b203915aeb92e7273ba4ad55be513b1d80610 /scene | |
parent | 959ffd5979dc65be693cc3397b8fcc76ce61c4b3 (diff) | |
download | redot-engine-4e14eefd94a4e211fb7d908fe8d74bddd5429c6f.tar.gz |
Fixed export var default value in PackedScene when script is not loaded in editor
Diffstat (limited to 'scene')
-rw-r--r-- | scene/resources/packed_scene.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 633771506e..0ddb8f6ae8 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -478,6 +478,11 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map p_node->get_property_list(&plist); StringName type = p_node->get_class(); + Ref<Script> script = p_node->get_script(); + if (script.is_valid()) { + script->update_exports(); + } + for (List<PropertyInfo>::Element *E = plist.front(); E; E = E->next()) { if (!(E->get().usage & PROPERTY_USAGE_STORAGE)) { @@ -494,7 +499,6 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map isdefault = bool(Variant::evaluate(Variant::OP_EQUAL, value, default_value)); } - Ref<Script> script = p_node->get_script(); if (!isdefault && script.is_valid() && script->get_property_default_value(name, default_value)) { isdefault = bool(Variant::evaluate(Variant::OP_EQUAL, value, default_value)); } |