Shutdown daemon and close wallet properly on app exit

This commit is contained in:
Jaquee 2016-11-25 21:14:52 +01:00
parent 7876957b48
commit 8dfa79ec58
No known key found for this signature in database
GPG key ID: 384E52B09F45DC39
2 changed files with 16 additions and 7 deletions

View file

@ -31,6 +31,7 @@
#include <QtQml> #include <QtQml>
#include <QStandardPaths> #include <QStandardPaths>
#include <QDebug> #include <QDebug>
#include <QObject>
#include "clipboardAdapter.h" #include "clipboardAdapter.h"
#include "filter.h" #include "filter.h"
#include "oscursor.h" #include "oscursor.h"
@ -110,6 +111,13 @@ int main(int argc, char *argv[])
engine.rootContext()->setContextProperty("daemonManager", DaemonManager::instance(QCoreApplication::arguments())); engine.rootContext()->setContextProperty("daemonManager", DaemonManager::instance(QCoreApplication::arguments()));
DaemonManager * daemonManager = DaemonManager::instance(QCoreApplication::arguments());
QObject::connect(&app, SIGNAL(aboutToQuit()), daemonManager, SLOT(closing()));
engine.rootContext()->setContextProperty("daemonManager", daemonManager);
>>>>>>> cc05e1a... Shutdown daemon and close wallet properly on app exit
// export to QML monero accounts root directory // export to QML monero accounts root directory
// wizard is talking about where // wizard is talking about where
// to save the wallet file (.keys, .bin), they have to be user-accessible for // to save the wallet file (.keys, .bin), they have to be user-accessible for

View file

@ -1053,12 +1053,13 @@ ApplicationWindow {
} }
} }
onClosing: { onClosing: {
// Close and save to disk on app close // Make sure wallet is closed before app exit (~Wallet() isn't always invoked)
if (currentWallet != undefined) { // Daemon shutdown is handled with signal/slot in main.cpp
walletManager.closeWallet(currentWallet); if (currentWallet != undefined) {
currentWallet = undefined walletManager.closeWallet(currentWallet);
} currentWallet = undefined
// Stop daemon }
daemonManager.stop(); // Stop daemon
daemonManager.stop();
} }
} }