diff --git a/src/server/akonadi.cpp b/src/server/akonadi.cpp --- a/src/server/akonadi.cpp +++ b/src/server/akonadi.cpp @@ -423,13 +423,14 @@ success = false; } } - QSqlDatabase::removeDatabase(initCon); return success; } void AkonadiServer::stopDatabaseProcess() { if (!DbConfig::configuredDatabase()->useInternalServer()) { + // closing initConnection this late to work around QTBUG-63108 + QSqlDatabase::removeDatabase(QStringLiteral("initConnection")); return; } diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp @@ -492,7 +492,6 @@ } } - QSqlDatabase::removeDatabase(initCon); return success; } @@ -520,6 +519,9 @@ return; } + // closing initConnection this late to work around QTBUG-63108 + QSqlDatabase::removeDatabase(QStringLiteral("initConnection")); + disconnect(mDatabaseProcess, static_cast(&QProcess::finished), this, &DbConfigMysql::processFinished);