From 6250cf20a194e2948f2db68064468e451352fccf Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 22 Jun 2022 16:11:56 +0200 Subject: [PATCH] McuSupport: Delay creation of SettingsHandler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There should be no significant activity in a plugin before the initialization phase. Change-Id: Iee2bcff4644ac07c3867fa59ce6613e128bd0390 Reviewed-by: Piotr Mućko Reviewed-by: Alessandro Portale --- src/plugins/mcusupport/mcusupportplugin.cpp | 11 ++++------- src/plugins/mcusupport/mcusupportplugin.h | 1 - 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp index 2f02c615f70..d059fb98295 100644 --- a/src/plugins/mcusupport/mcusupportplugin.cpp +++ b/src/plugins/mcusupport/mcusupportplugin.cpp @@ -72,15 +72,12 @@ void printMessage(const QString &message, bool important) class McuSupportPluginPrivate { public: - explicit McuSupportPluginPrivate(const SettingsHandler::Ptr &settingsHandler) - : m_settingsHandler(settingsHandler) - {} McuSupportDeviceFactory deviceFactory; McuSupportRunConfigurationFactory runConfigurationFactory; RunWorkerFactory runWorkerFactory{makeFlashAndRunWorker(), {ProjectExplorer::Constants::NORMAL_RUN_MODE}, {Constants::RUNCONFIGURATION}}; - SettingsHandler::Ptr m_settingsHandler; + SettingsHandler::Ptr m_settingsHandler{new SettingsHandler}; McuSupportOptions m_options{m_settingsHandler}; McuSupportOptionsPage optionsPage{m_options, m_settingsHandler}; McuDependenciesKitAspect environmentPathsKitAspect; @@ -100,7 +97,7 @@ bool McuSupportPlugin::initialize(const QStringList &arguments, QString *errorSt Q_UNUSED(errorString) setObjectName("McuSupportPlugin"); - dd = new McuSupportPluginPrivate(m_settingsHandler); + dd = new McuSupportPluginPrivate; dd->m_options.registerQchFiles(); dd->m_options.registerExamples(); @@ -115,8 +112,8 @@ void McuSupportPlugin::extensionsInitialized() connect(KitManager::instance(), &KitManager::kitsLoaded, [this]() { McuKitManager::removeOutdatedKits(); - McuKitManager::createAutomaticKits(m_settingsHandler); - McuKitManager::fixExistingKits(m_settingsHandler); + McuKitManager::createAutomaticKits(dd->m_settingsHandler); + McuKitManager::fixExistingKits(dd->m_settingsHandler); askUserAboutMcuSupportKitsSetup(); }); } diff --git a/src/plugins/mcusupport/mcusupportplugin.h b/src/plugins/mcusupport/mcusupportplugin.h index 51d6d4929e3..18195e6c05f 100644 --- a/src/plugins/mcusupport/mcusupportplugin.h +++ b/src/plugins/mcusupport/mcusupportplugin.h @@ -50,7 +50,6 @@ public: private: QVector createTestObjects() const final; - SettingsHandler::Ptr m_settingsHandler{new SettingsHandler}; }; // class McuSupportPlugin