diff options
Diffstat (limited to 'modules/gdscript')
-rw-r--r-- | modules/gdscript/gdscript_compiler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 2b6b66d7b6..e59b57b39a 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -486,7 +486,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: script = codegen.script; } else { StringName name = cn->cast_type.class_type->name; - if (class_map[name] == codegen.script->subclasses[name]) { + if (codegen.script->subclasses.has(name) && class_map[name] == codegen.script->subclasses[name]) { idx = codegen.get_name_map_pos(name); idx |= GDScriptFunction::ADDR_TYPE_CLASS_CONSTANT << GDScriptFunction::ADDR_BITS; } else { @@ -1183,7 +1183,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: script = codegen.script; } else { StringName name = assign_type.class_type->name; - if (class_map[name] == codegen.script->subclasses[name]) { + if (codegen.script->subclasses.has(name) && class_map[name] == codegen.script->subclasses[name]) { idx = codegen.get_name_map_pos(name); idx |= GDScriptFunction::ADDR_TYPE_CLASS_CONSTANT << GDScriptFunction::ADDR_BITS; } else { |