diff --git a/src/plugins/python/pythonrunconfiguration.cpp b/src/plugins/python/pythonrunconfiguration.cpp index 12141ba1a93..d8a842ef3fb 100644 --- a/src/plugins/python/pythonrunconfiguration.cpp +++ b/src/plugins/python/pythonrunconfiguration.cpp @@ -161,7 +161,7 @@ public: PythonInterpreterAspect *q; RunConfiguration *rc; QList m_extraCompilers; - QFutureWatcher m_watcher; + QFutureWatcher *m_watcher = nullptr; QMetaObject::Connection m_watcherConnection; }; @@ -218,11 +218,13 @@ void PythonInterpreterAspectPrivate::checkForPySide(const FilePath &python, { const PipPackage package(pySidePackageName); QObject::disconnect(m_watcherConnection); - m_watcherConnection = QObject::connect(&m_watcher, &QFutureWatcherBase::finished, q, [=] { - handlePySidePackageInfo(m_watcher.result(), python, pySidePackageName); + delete m_watcher; + m_watcher = new QFutureWatcher(this); + m_watcherConnection = QObject::connect(m_watcher, &QFutureWatcherBase::finished, q, [=] { + handlePySidePackageInfo(m_watcher->result(), python, pySidePackageName); }); const auto future = Pip::instance(python)->info(package); - m_watcher.setFuture(future); + m_watcher->setFuture(future); ExtensionSystem::PluginManager::futureSynchronizer()->addFuture(future); }