From bf9df88a7c1e5e431d427e325b3d1af09b54f08e Mon Sep 17 00:00:00 2001 From: Thakee Nathees Date: Tue, 21 Apr 2020 10:05:11 +0530 Subject: [PATCH] GDScript debugger incorrect error line fixed if the first line of an else or an elif throws a runtime error the debugger shows incorrect line number. (cherry picked from commit 9325671faa9d8407996effd4366f47733a1ec21b) --- modules/gdscript/gdscript_compiler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index fba1b992ecd..b175290698c 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -1381,6 +1381,10 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo codegen.opcodes.push_back(0); codegen.opcodes.write[else_addr] = codegen.opcodes.size(); + codegen.opcodes.push_back(GDScriptFunction::OPCODE_LINE); + codegen.opcodes.push_back(cf->body_else->line); + codegen.current_line = cf->body_else->line; + Error err2 = _parse_block(codegen, cf->body_else, p_stack_level, p_break_addr, p_continue_addr); if (err2) return err2;