From 8f5e424c66f6db6e5726550ec90303ed2c594797 Mon Sep 17 00:00:00 2001 From: Dani Frank Date: Sat, 18 Jan 2020 11:55:27 +0200 Subject: Fix subclass finding in extend statement for sub-sub classes lookup was always done on top level script instead of advancing to subclass each time. this commit changes the lookup to always be at last found subclass --- modules/gdscript/gdscript_parser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'modules/gdscript') diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 5c2e7137bf..aec7110ee5 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -5404,12 +5404,12 @@ void GDScriptParser::_determine_inheritance(ClassNode *p_class, bool p_recursive ident += ("." + subclass); - if (base_script->get_subclasses().has(subclass)) { + if (find_subclass->get_subclasses().has(subclass)) { - find_subclass = base_script->get_subclasses()[subclass]; - } else if (base_script->get_constants().has(subclass)) { + find_subclass = find_subclass->get_subclasses()[subclass]; + } else if (find_subclass->get_constants().has(subclass)) { - Ref new_base_class = base_script->get_constants()[subclass]; + Ref new_base_class = find_subclass->get_constants()[subclass]; if (new_base_class.is_null()) { _set_error("Constant isn't a class: " + ident, p_class->line); return; -- cgit v1.2.3