aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qt/bitcoin.cpp5
-rw-r--r--src/qt/bitcoingui.cpp6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index 098b17490e..45551657d7 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -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;
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index f8daa08c4d..ee27fe90a6 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -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)