summaryrefslogtreecommitdiffstats
path: root/scene/resources
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-02-21 08:53:58 +0100
committerGitHub <noreply@github.com>2021-02-21 08:53:58 +0100
commitf6efa78173495e9e33bd5d3ebca91b55ab9f4587 (patch)
treeeee820bf42d26735690731db23e6a7f3705aaa10 /scene/resources
parentd4d753552495dda0eefcdd69228eb4ed4ddc5447 (diff)
parent4e14eefd94a4e211fb7d908fe8d74bddd5429c6f (diff)
downloadredot-engine-f6efa78173495e9e33bd5d3ebca91b55ab9f4587.tar.gz
Merge pull request #38565 from nekomatata/export-default-values
Fixed export var default value in PackedScene when script is not loaded in editor
Diffstat (limited to 'scene/resources')
-rw-r--r--scene/resources/packed_scene.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp
index beb365d44e..5d351f51f7 100644
--- a/scene/resources/packed_scene.cpp
+++ b/scene/resources/packed_scene.cpp
@@ -469,6 +469,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)) {
continue;
@@ -484,7 +489,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));
}