diff options
-rw-r--r-- | variant/default/main-window.cpp | 16 | ||||
-rw-r--r-- | variant/default/main-window.hpp | 2 |
2 files changed, 10 insertions, 8 deletions
diff --git a/variant/default/main-window.cpp b/variant/default/main-window.cpp index 9df36a7d..62b969e1 100644 --- a/variant/default/main-window.cpp +++ b/variant/default/main-window.cpp @@ -339,21 +339,16 @@ bool main_window::get_new_config_name_from_dialog(QString& ret) main_window::~main_window() { - if (tray) - tray->hide(); - tray = nullptr; - - const bool just_stopping = bool(work); - // stupid ps3 eye has LED issues - if (just_stopping) + if (work) { stop_tracker_(); - close(); QEventLoop ev; ev.processEvents(); portable::sleep(2000); } + + exit(); } void main_window::set_working_directory() @@ -842,6 +837,11 @@ bool main_window::maybe_hide_to_tray(QEvent* e) return false; } +void main_window::closeEvent(QCloseEvent*) +{ + exit(); +} + void main_window::maybe_start_profile_from_executable() { if (!work) diff --git a/variant/default/main-window.hpp b/variant/default/main-window.hpp index b4b7dbb7..c28aadc4 100644 --- a/variant/default/main-window.hpp +++ b/variant/default/main-window.hpp @@ -115,6 +115,8 @@ class main_window : public QMainWindow, private State template<typename t, typename F> bool mk_window_common(std::unique_ptr<t>& d, F&& ctor); + void closeEvent(QCloseEvent *event) override; + private slots: void save_modules(); void exit(int status = EXIT_SUCCESS); |