Merge pull request #22953 from DualMatrix/properties_gone

Fixed parents export vars not appearing in inspector if parent is class_name.
This commit is contained in:
Rémi Verschelde 2018-11-22 19:34:41 +01:00 committed by GitHub
commit 7a9e4c2602
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -421,31 +421,40 @@ bool GDScript::_update_exports() {
base_cache = Ref<GDScript>();
}
if (c->extends_used && String(c->extends_file) != "" && String(c->extends_file) != get_path()) {
if (c->extends_used) {
String path = "";
if (String(c->extends_file) != "" && String(c->extends_file) != get_path()) {
path = c->extends_file;
if (path.is_rel_path()) {
String path = c->extends_file;
if (path.is_rel_path()) {
String base = get_path();
if (base == "" || base.is_rel_path()) {
String base = get_path();
if (base == "" || base.is_rel_path()) {
ERR_PRINT(("Could not resolve relative path for parent class: " + path).utf8().get_data());
} else {
path = base.get_base_dir().plus_file(path);
ERR_PRINT(("Could not resolve relative path for parent class: " + path).utf8().get_data());
} else {
path = base.get_base_dir().plus_file(path);
}
}
} else if (c->extends_class.size() != 0) {
String base = c->extends_class[0];
if (ScriptServer::is_global_class(base))
path = ScriptServer::get_global_class_path(base);
}
if (path != get_path()) {
if (path != "") {
if (path != get_path()) {
Ref<GDScript> bf = ResourceLoader::load(path);
Ref<GDScript> bf = ResourceLoader::load(path);
if (bf.is_valid()) {
if (bf.is_valid()) {
base_cache = bf;
bf->inheriters_cache.insert(get_instance_id());
base_cache = bf;
bf->inheriters_cache.insert(get_instance_id());
}
} else {
ERR_PRINT(("Path extending itself in " + path).utf8().get_data());
}
} else {
ERR_PRINT(("Path extending itself in " + path).utf8().get_data());
}
}