Commit 1e3d2e97 authored by Wladimir J. van der Laan's avatar Wladimir J. van der Laan
Browse files

qt: Stop shutdown detection timer during shutdown

Stop the shutdown timer from exiting the main loop
when shutdown is already in progress.

Fixes seeming hanging window after typing 'stop' in debug console.

Also hide the debug console during shutdown as it is useless without
a core to connect to.
parent 77fc765a
Showing with 9 additions and 2 deletions
+9 -2
......@@ -193,6 +193,7 @@ private:
ClientModel *clientModel;
BitcoinGUI *window;
WalletModel *walletModel;
QTimer *pollShutdownTimer;
int returnValue;
void startThread();
......@@ -250,6 +251,7 @@ BitcoinApplication::BitcoinApplication(int &argc, char **argv):
clientModel(0),
window(0),
walletModel(0),
pollShutdownTimer(0),
returnValue(0)
{
setQuitOnLastWindowClosed(false);
......@@ -282,7 +284,7 @@ void BitcoinApplication::createWindow(bool isaTestNet)
{
window = new BitcoinGUI(isaTestNet, 0);
QTimer* pollShutdownTimer = new QTimer(window);
pollShutdownTimer = new QTimer(window);
connect(pollShutdownTimer, SIGNAL(timeout()), window, SLOT(detectShutdown()));
pollShutdownTimer->start(200);
}
......@@ -326,6 +328,7 @@ void BitcoinApplication::requestShutdown()
window->hide();
window->setClientModel(0);
window->removeAllWallets();
pollShutdownTimer->stop();
delete walletModel;
walletModel = 0;
......
......@@ -855,7 +855,11 @@ void BitcoinGUI::toggleHidden()
void BitcoinGUI::detectShutdown()
{
if (ShutdownRequested())
QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection);
{
if(rpcConsole)
rpcConsole->hide();
qApp->quit();
}
}
static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string& message, const std::string& caption, unsigned int style)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment