diff options
author | Hein-Pieter van Braam <hp@tmm.cx> | 2019-01-17 18:54:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-17 18:54:42 +0100 |
commit | f958ba5abcd7dfcde226c8780d0c3d1ce4ca336d (patch) | |
tree | 6fc1eb57e104f20ad72e2959c975655519682fac /modules/gdscript/gdscript_compiler.cpp | |
parent | 5e709baba1c815b09d6742c2dd03160b25afb37f (diff) | |
parent | 30f02dd421d3104e0929572ab2e572625e2f4e29 (diff) | |
download | redot-engine-f958ba5abcd7dfcde226c8780d0c3d1ce4ca336d.tar.gz |
Merge pull request #25069 from vnen/gdscript-fixes
A bit more of GDScript fixes
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-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 { |