|
@@ -1497,7 +1497,8 @@ Error GDCompiler::_parse_class(GDScript *p_script, GDScript *p_owner, const GDPa
|
|
String sub = p_class->extends_class[i];
|
|
String sub = p_class->extends_class[i];
|
|
if (script->subclasses.has(sub)) {
|
|
if (script->subclasses.has(sub)) {
|
|
|
|
|
|
- script=script->subclasses[sub];
|
|
|
|
|
|
+ Ref<Script> subclass = script->subclasses[sub]; //avoid reference from dissapearing
|
|
|
|
+ script=subclass;
|
|
} else {
|
|
} else {
|
|
|
|
|
|
_set_error("Could not find subclass: "+sub,p_class);
|
|
_set_error("Could not find subclass: "+sub,p_class);
|
|
@@ -1683,6 +1684,7 @@ Error GDCompiler::_parse_class(GDScript *p_script, GDScript *p_owner, const GDPa
|
|
if (err)
|
|
if (err)
|
|
return err;
|
|
return err;
|
|
|
|
|
|
|
|
+
|
|
p_script->constants.insert(name,subclass); //once parsed, goes to the list of constants
|
|
p_script->constants.insert(name,subclass); //once parsed, goes to the list of constants
|
|
p_script->subclasses.insert(name,subclass);
|
|
p_script->subclasses.insert(name,subclass);
|
|
|
|
|