Fix breakpoints resetting on external editor save

This commit is contained in:
Pedro Barroso de Brito
2026-03-16 16:25:04 +00:00
parent 65e73b3a5e
commit 246ce46513
2 changed files with 12 additions and 3 deletions
+9 -3
View File
@@ -1503,21 +1503,27 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) {
if (state.has("folded_lines")) {
const PackedInt32Array folded_lines = state["folded_lines"];
for (const int &line : folded_lines) {
text_editor->fold_line(line);
if (line < text_editor->get_line_count()) {
text_editor->fold_line(line);
}
}
}
if (state.has("breakpoints")) {
const PackedInt32Array breakpoints = state["breakpoints"];
for (const int &line : breakpoints) {
text_editor->set_line_as_breakpoint(line, true);
if (line < text_editor->get_line_count()) {
text_editor->set_line_as_breakpoint(line, true);
}
}
}
if (state.has("bookmarks")) {
const PackedInt32Array bookmarks = state["bookmarks"];
for (const int &line : bookmarks) {
text_editor->set_line_as_bookmarked(line, true);
if (line < text_editor->get_line_count()) {
text_editor->set_line_as_bookmarked(line, true);
}
}
}
+3
View File
@@ -41,6 +41,7 @@
#include "core/os/keyboard.h"
#include "core/os/os.h"
#include "core/string/fuzzy_search.h"
#include "core/variant/dictionary.h"
#include "core/version.h"
#include "editor/debugger/editor_debugger_node.h"
#include "editor/debugger/script_editor_debugger.h"
@@ -2546,7 +2547,9 @@ void ScriptEditor::_reload_scripts(bool p_refresh_only) {
}
if (TextEditorBase *teb = Object::cast_to<TextEditorBase>(seb)) {
Dictionary state = teb->get_edit_state();
teb->reload_text();
teb->set_edit_state(state);
}
}