Spreadsheet: Clear callbacks on persistent widgets before tearing tabs down

Otherwise changes to the widgets would cause all sorts of updates on
half-deleted cells.
Fixes #4171.
This commit is contained in:
AnotherTest 2020-11-29 17:27:08 +03:30 committed by Andreas Kling
commit b532b2d3ca
Notes: sideshowbarker 2024-07-19 01:09:18 +09:00

View file

@ -175,6 +175,11 @@ void SpreadsheetWidget::load(const StringView& filename)
GUI::MessageBox::show_error(window(), result.error()); GUI::MessageBox::show_error(window(), result.error());
return; return;
} }
m_tab_widget->on_change = nullptr;
m_cell_value_editor->on_change = nullptr;
m_current_cell_label->set_text("");
m_should_change_selected_cells = false;
while (auto* widget = m_tab_widget->active_widget()) { while (auto* widget = m_tab_widget->active_widget()) {
m_tab_widget->remove_tab(*widget); m_tab_widget->remove_tab(*widget);
} }