From fd4648c081afa565cb20c923c4e3c94d88e71e4f Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Tue, 16 Dec 2014 23:46:55 -0300 Subject: [PATCH] -fixed crash reported by n-pigeon --- modules/gdscript/gd_editor.cpp | 2 +- modules/gdscript/gd_parser.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/gdscript/gd_editor.cpp b/modules/gdscript/gd_editor.cpp index 41caaa0ddd0..09f193706c7 100644 --- a/modules/gdscript/gd_editor.cpp +++ b/modules/gdscript/gd_editor.cpp @@ -1165,7 +1165,7 @@ static void _find_identifiers(GDCompletionContext& context,int p_line,bool p_onl const GDParser::ClassNode *clss=context._class; - bool _static=context.function->_static; + bool _static=context.function && context.function->_static; while(clss) { GDCompletionContext c = context; diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index f727512ff55..f79f3ee44a5 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -2757,6 +2757,9 @@ Error GDParser::parse_bytecode(const Vector &p_bytecode,const String& p completion_class=NULL; completion_function=NULL; completion_block=NULL; + current_block=NULL; + current_class=NULL; + current_function=NULL; self_path=p_self_path; GDTokenizerBuffer *tb = memnew( GDTokenizerBuffer ); @@ -2776,6 +2779,10 @@ Error GDParser::parse(const String& p_code, const String& p_base_path, bool p_ju completion_class=NULL; completion_function=NULL; completion_block=NULL; + current_block=NULL; + current_class=NULL; + + current_function=NULL; self_path=p_self_path; GDTokenizerText *tt = memnew( GDTokenizerText ); @@ -2811,6 +2818,10 @@ void GDParser::clear() { completion_class=NULL; completion_function=NULL; completion_block=NULL; + current_block=NULL; + current_class=NULL; + + current_function=NULL; validating=false; error_set=false;