(cherry picked from commit 132a1daf1a7eac623829bd1d149f79ac95853c9a)
@@ -280,7 +280,7 @@ void EditorInterface::edit_node(Node *p_node) {
}
void EditorInterface::edit_script(const Ref<Script> &p_script, int p_line, int p_col, bool p_grab_focus) {
- ScriptEditor::get_singleton()->edit(p_script, p_line, p_col, p_grab_focus);
+ ScriptEditor::get_singleton()->edit(p_script, p_line - 1, p_col - 1, p_grab_focus);
void EditorInterface::open_scene_from_path(const String &scene_path) {
@@ -2331,7 +2331,7 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
if (p_line > 0) {
- se->goto_line(p_line - 1);
+ se->goto_line(p_line);
_update_script_names();
@@ -2426,8 +2426,8 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
_test_script_times_on_disk(p_resource);
_update_modified_scripts_for_external_editor(p_resource);
- if (p_line > 0) {
+ if (p_line >= 0) {
notify_script_changed(p_resource);
@@ -138,7 +138,8 @@ namespace GodotTools.Build
{
var script = (Script)ResourceLoader.Load(file, typeHint: Internal.CSharpLanguageType);
- if (script != null && Internal.ScriptEditorEdit(script, issue.Line, issue.Column))
+ // Godot's ScriptEditor.Edit is 0-based but the issue lines are 1-based.
+ if (script != null && Internal.ScriptEditorEdit(script, issue.Line - 1, issue.Column - 1))
Internal.EditorNodeShowScriptScreen();