From e7fc50681e99e3c726db2bc4d3d425ed8a0fc6b3 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Sat, 12 Feb 2022 15:37:43 +0200 Subject: qt: Override BitcoinApplication::event() to handle QEvent::Quit --- src/qt/bitcoin.cpp | 10 ++++++++++ src/qt/bitcoin.h | 3 +++ 2 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 6a2781079c..497805f2bb 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -450,6 +450,16 @@ WId BitcoinApplication::getMainWinId() const return window->winId(); } +bool BitcoinApplication::event(QEvent* e) +{ + if (e->type() == QEvent::Quit) { + requestShutdown(); + return true; + } + + return QApplication::event(e); +} + static void SetupUIArgs(ArgsManager& argsman) { argsman.AddArg("-choosedatadir", strprintf("Choose data directory on startup (default: %u)", DEFAULT_CHOOSE_DATADIR), ArgsManager::ALLOW_ANY, OptionsCategory::GUI); diff --git a/src/qt/bitcoin.h b/src/qt/bitcoin.h index 0703c6dcb9..7a6aa5cdc9 100644 --- a/src/qt/bitcoin.h +++ b/src/qt/bitcoin.h @@ -92,6 +92,9 @@ Q_SIGNALS: void splashFinished(); void windowShown(BitcoinGUI* window); +protected: + bool event(QEvent* e) override; + private: std::optional m_executor; OptionsModel *optionsModel; -- cgit v1.2.3