You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-22 15:06:45 +00:00
GDSCript: Fix cyclic class dependency detection
This commit is contained in:
@@ -1994,8 +1994,11 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner
|
|||||||
p_script->_signals[name] = p_class->_signals[i].arguments;
|
p_script->_signals[name] = p_class->_signals[i].arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!p_class->owner) {
|
if (p_class->owner) {
|
||||||
parsed_classes.insert(p_class->name);
|
parsed_classes.insert(p_class->name);
|
||||||
|
if (parsing_classes.has(p_class->name)) {
|
||||||
|
parsing_classes.erase(p_class->name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//parse sub-classes
|
//parse sub-classes
|
||||||
@@ -2011,7 +2014,6 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner
|
|||||||
Error err = _parse_class_level(subclass.ptr(), p_script, p_class->subclasses[i], p_keep_state);
|
Error err = _parse_class_level(subclass.ptr(), p_script, p_class->subclasses[i], p_keep_state);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
parsing_classes.erase(name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
|
|||||||
Reference in New Issue
Block a user