summaryrefslogtreecommitdiff
path: root/modules/gdscript
diff options
context:
space:
mode:
authorpunto- <ariel@godotengine.org>2016-06-06 21:19:10 -0700
committerpunto- <ariel@godotengine.org>2016-06-06 21:19:10 -0700
commit78218359b1e85728cda9879aba326dda021219a8 (patch)
treee5734f78f02470a4afe0f8edb02931409f0f41a9 /modules/gdscript
parent0c985913a74ce196e81e711350961f3bd97a7355 (diff)
parent86253cbdfe0410ad4d50c2051036b51fb01ea16d (diff)
Merge pull request #5078 from godotengine/revert-5054-fix-implicit-extends
Revert "Fix implicit GDScript Reference inheritance"
Diffstat (limited to 'modules/gdscript')
-rw-r--r--modules/gdscript/gd_compiler.cpp6
-rw-r--r--modules/gdscript/gd_script.cpp7
2 files changed, 5 insertions, 8 deletions
diff --git a/modules/gdscript/gd_compiler.cpp b/modules/gdscript/gd_compiler.cpp
index 072c53fb9f..d51f1a4ddc 100644
--- a/modules/gdscript/gd_compiler.cpp
+++ b/modules/gdscript/gd_compiler.cpp
@@ -1588,12 +1588,6 @@ Error GDCompiler::_parse_class(GDScript *p_script, GDScript *p_owner, const GDPa
}
- } else {
- // without extends, implicitly extend Reference
- int native_idx = GDScriptLanguage::get_singleton()->get_global_map()["Reference"];
- native = GDScriptLanguage::get_singleton()->get_global_array()[native_idx];
- ERR_FAIL_COND_V(native.is_null(), ERR_BUG);
- p_script->native=native;
}
diff --git a/modules/gdscript/gd_script.cpp b/modules/gdscript/gd_script.cpp
index 12fc36d8c1..dcd0641f76 100644
--- a/modules/gdscript/gd_script.cpp
+++ b/modules/gdscript/gd_script.cpp
@@ -145,8 +145,11 @@ Variant GDScript::_new(const Variant** p_args,int p_argcount,Variant::CallError&
_baseptr=_baseptr->_base;
}
- ERR_FAIL_COND_V(_baseptr->native.is_null(), Variant());
- owner=_baseptr->native->instance();
+ if (_baseptr->native.ptr()) {
+ owner=_baseptr->native->instance();
+ } else {
+ owner=memnew( Reference ); //by default, no base means use reference
+ }
Reference *r=owner->cast_to<Reference>();
if (r) {