diff --git a/FlashMQTests/mainappthread.cpp b/FlashMQTests/mainappthread.cpp index 974ae92..f00204b 100644 --- a/FlashMQTests/mainappthread.cpp +++ b/FlashMQTests/mainappthread.cpp @@ -19,15 +19,19 @@ License along with FlashMQ. If not, see . MainAppThread::MainAppThread(QObject *parent) : QThread(parent) { + MainApp::initMainApp(1, nullptr); + appInstance = MainApp::getMainApp(); + appInstance->settings->allowAnonymous = true; +} + +MainAppThread::~MainAppThread() +{ if (appInstance) { delete appInstance; + MainApp::instance = nullptr; } appInstance = nullptr; - MainApp::instance = nullptr; - MainApp::initMainApp(1, nullptr); - appInstance = MainApp::getMainApp(); - appInstance->settings->allowAnonymous = true; } void MainAppThread::run() diff --git a/FlashMQTests/mainappthread.h b/FlashMQTests/mainappthread.h index 8bc9317..d5ef145 100644 --- a/FlashMQTests/mainappthread.h +++ b/FlashMQTests/mainappthread.h @@ -28,6 +28,7 @@ class MainAppThread : public QThread MainApp *appInstance = nullptr; public: explicit MainAppThread(QObject *parent = nullptr); + ~MainAppThread(); public slots: void run() override; diff --git a/FlashMQTests/tst_maintests.cpp b/FlashMQTests/tst_maintests.cpp index eaa51a4..14294a9 100644 --- a/FlashMQTests/tst_maintests.cpp +++ b/FlashMQTests/tst_maintests.cpp @@ -102,6 +102,7 @@ MainTests::~MainTests() void MainTests::init() { + mainApp.reset(); mainApp.reset(new MainAppThread()); mainApp->start(); mainApp->waitForStarted();