1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:58:11 +00:00

HackStudio: Fix editor not marking file with unsaved changes as dirty

The editor's on_change callback was being overwritten in
HackStudioWidget.cpp in order to call update_gml_preview on every
change. This stopped the original callback from being called and marking
files as dirty when changed.

Now we call update_gml_preview in a new callback within the editor
wrapper, which is then called within the original on_change callback
in the editor.
This commit is contained in:
Lennon Donaghy 2021-08-03 20:40:42 +01:00 committed by Andreas Kling
parent d454c63bde
commit 82b88c6e16
3 changed files with 6 additions and 2 deletions

View file

@ -295,7 +295,7 @@ bool HackStudioWidget::open_file(const String& full_filename)
current_editor().set_focus(true);
current_editor().on_cursor_change = [this] { update_statusbar(); };
current_editor().on_change = [this] { update_gml_preview(); };
current_editor_wrapper().on_change = [this] { update_gml_preview(); };
update_gml_preview();
return true;
@ -541,7 +541,7 @@ void HackStudioWidget::add_new_editor(GUI::Widget& parent)
wrapper->editor().set_focus(true);
wrapper->set_project_root(LexicalPath(m_project->root_path()));
wrapper->editor().on_cursor_change = [this] { update_statusbar(); };
wrapper->editor().on_change = [this] { update_gml_preview(); };
wrapper->on_change = [this] { update_gml_preview(); };
set_edit_mode(EditMode::Text);
}