diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 9a4513d18a5..42c5c7c4daf 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1573,6 +1573,7 @@ void CodeTextEditor::goto_next_bookmark() { if (line >= bmarks[bmarks.size() - 1]) { text_editor->unfold_line(bmarks[0]); text_editor->cursor_set_line(bmarks[0]); + text_editor->center_viewport_to_cursor(); } else { for (List::Element *E = bmarks.front(); E; E = E->next()) { int bline = E->get(); @@ -1598,6 +1599,7 @@ void CodeTextEditor::goto_prev_bookmark() { if (line <= bmarks[0]) { text_editor->unfold_line(bmarks[bmarks.size() - 1]); text_editor->cursor_set_line(bmarks[bmarks.size() - 1]); + text_editor->center_viewport_to_cursor(); } else { for (List::Element *E = bmarks.back(); E; E = E->prev()) { int bline = E->get(); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index ec1cda5287d..c57ffa8ee31 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -1309,6 +1309,7 @@ void ScriptTextEditor::_edit_option(int p_op) { if (line >= bpoints[bpoints.size() - 1]) { tx->unfold_line(bpoints[0]); tx->cursor_set_line(bpoints[0]); + tx->center_viewport_to_cursor(); } else { for (List::Element *E = bpoints.front(); E; E = E->next()) { int bline = E->get(); @@ -1335,6 +1336,7 @@ void ScriptTextEditor::_edit_option(int p_op) { if (line <= bpoints[0]) { tx->unfold_line(bpoints[bpoints.size() - 1]); tx->cursor_set_line(bpoints[bpoints.size() - 1]); + tx->center_viewport_to_cursor(); } else { for (List::Element *E = bpoints.back(); E; E = E->prev()) { int bline = E->get();