WindowManager: move Wallet cleanup to different thread

This commit is contained in:
tobtoht
2021-07-03 03:29:13 +02:00
parent 2d07483577
commit 9fb734607e
8 changed files with 40 additions and 23 deletions
+6
View File
@@ -17,6 +17,7 @@
WindowManager::WindowManager() {
m_walletManager = WalletManager::instance();
m_splashDialog = new SplashDialog;
m_cleanupThread = new QThread();
connect(m_walletManager, &WalletManager::walletOpened, this, &WindowManager::onWalletOpened);
connect(m_walletManager, &WalletManager::walletCreated, this, &WindowManager::onWalletCreated);
@@ -68,6 +69,11 @@ void WindowManager::close() {
void WindowManager::closeWindow(MainWindow *window) {
m_windows.removeOne(window);
// Move Wallet to a different thread for cleanup so it doesn't block GUI thread
window->m_ctx->wallet->moveToThread(m_cleanupThread);
m_cleanupThread->start();
window->m_ctx->wallet->deleteLater();
}
void WindowManager::restartApplication(const QString &binaryFilename) {