diff --git a/Userland/Libraries/LibGUI/SettingsWindow.cpp b/Userland/Libraries/LibGUI/SettingsWindow.cpp index 463c9c5939..09563406c6 100644 --- a/Userland/Libraries/LibGUI/SettingsWindow.cpp +++ b/Userland/Libraries/LibGUI/SettingsWindow.cpp @@ -58,6 +58,8 @@ SettingsWindow::SettingsWindow(StringView title, ShowDefaultsButton show_default m_cancel_button = button_container.add("Cancel"); m_cancel_button->set_fixed_width(75); m_cancel_button->on_click = [&](auto) { + for (auto& tab : m_tabs) + tab.cancel_settings(); GUI::Application::the()->quit(); }; diff --git a/Userland/Libraries/LibGUI/SettingsWindow.h b/Userland/Libraries/LibGUI/SettingsWindow.h index 96e897ac2c..f68d0922c7 100644 --- a/Userland/Libraries/LibGUI/SettingsWindow.h +++ b/Userland/Libraries/LibGUI/SettingsWindow.h @@ -20,7 +20,8 @@ public: class Tab : public GUI::Widget { public: virtual void apply_settings() = 0; - virtual void reset_default_values() {}; + virtual void cancel_settings() { } + virtual void reset_default_values() { } }; enum class ShowDefaultsButton {