summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_compiler.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-08-22 09:53:52 +0200
committerGitHub <noreply@github.com>2018-08-22 09:53:52 +0200
commita6979e7c66c366ad521fc3d8cbd81d911650f030 (patch)
treeeb64f65779a82affe9b53853cd6c67306182d457 /modules/gdscript/gdscript_compiler.cpp
parent703de2f6ece307dd0ddbfd8193d1996f141294c3 (diff)
parent94d662ad558c80b0b04c85ad3daadb24ce653cd9 (diff)
downloadredot-engine-a6979e7c66c366ad521fc3d8cbd81d911650f030.tar.gz
Merge pull request #21279 from vnen/gdscript-fixes
Assorted GDScript fixes
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-rw-r--r--modules/gdscript/gdscript_compiler.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index fe393957db..368601127d 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -1994,8 +1994,11 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner
p_script->_signals[name] = p_class->_signals[i].arguments;
}
- if (!p_class->owner) {
+ if (p_class->owner) {
parsed_classes.insert(p_class->name);
+ if (parsing_classes.has(p_class->name)) {
+ parsing_classes.erase(p_class->name);
+ }
}
//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);
if (err)
return err;
- parsing_classes.erase(name);
}
#ifdef TOOLS_ENABLED