forked from qt-creator/qt-creator
McuSupport: Delay creation of SettingsHandler
There should be no significant activity in a plugin before the initialization phase. Change-Id: Iee2bcff4644ac07c3867fa59ce6613e128bd0390 Reviewed-by: Piotr Mućko <piotr.mucko@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -72,15 +72,12 @@ void printMessage(const QString &message, bool important)
|
|||||||
class McuSupportPluginPrivate
|
class McuSupportPluginPrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit McuSupportPluginPrivate(const SettingsHandler::Ptr &settingsHandler)
|
|
||||||
: m_settingsHandler(settingsHandler)
|
|
||||||
{}
|
|
||||||
McuSupportDeviceFactory deviceFactory;
|
McuSupportDeviceFactory deviceFactory;
|
||||||
McuSupportRunConfigurationFactory runConfigurationFactory;
|
McuSupportRunConfigurationFactory runConfigurationFactory;
|
||||||
RunWorkerFactory runWorkerFactory{makeFlashAndRunWorker(),
|
RunWorkerFactory runWorkerFactory{makeFlashAndRunWorker(),
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
||||||
{Constants::RUNCONFIGURATION}};
|
{Constants::RUNCONFIGURATION}};
|
||||||
SettingsHandler::Ptr m_settingsHandler;
|
SettingsHandler::Ptr m_settingsHandler{new SettingsHandler};
|
||||||
McuSupportOptions m_options{m_settingsHandler};
|
McuSupportOptions m_options{m_settingsHandler};
|
||||||
McuSupportOptionsPage optionsPage{m_options, m_settingsHandler};
|
McuSupportOptionsPage optionsPage{m_options, m_settingsHandler};
|
||||||
McuDependenciesKitAspect environmentPathsKitAspect;
|
McuDependenciesKitAspect environmentPathsKitAspect;
|
||||||
@@ -100,7 +97,7 @@ bool McuSupportPlugin::initialize(const QStringList &arguments, QString *errorSt
|
|||||||
Q_UNUSED(errorString)
|
Q_UNUSED(errorString)
|
||||||
|
|
||||||
setObjectName("McuSupportPlugin");
|
setObjectName("McuSupportPlugin");
|
||||||
dd = new McuSupportPluginPrivate(m_settingsHandler);
|
dd = new McuSupportPluginPrivate;
|
||||||
|
|
||||||
dd->m_options.registerQchFiles();
|
dd->m_options.registerQchFiles();
|
||||||
dd->m_options.registerExamples();
|
dd->m_options.registerExamples();
|
||||||
@@ -115,8 +112,8 @@ void McuSupportPlugin::extensionsInitialized()
|
|||||||
|
|
||||||
connect(KitManager::instance(), &KitManager::kitsLoaded, [this]() {
|
connect(KitManager::instance(), &KitManager::kitsLoaded, [this]() {
|
||||||
McuKitManager::removeOutdatedKits();
|
McuKitManager::removeOutdatedKits();
|
||||||
McuKitManager::createAutomaticKits(m_settingsHandler);
|
McuKitManager::createAutomaticKits(dd->m_settingsHandler);
|
||||||
McuKitManager::fixExistingKits(m_settingsHandler);
|
McuKitManager::fixExistingKits(dd->m_settingsHandler);
|
||||||
askUserAboutMcuSupportKitsSetup();
|
askUserAboutMcuSupportKitsSetup();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -50,7 +50,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QVector<QObject *> createTestObjects() const final;
|
QVector<QObject *> createTestObjects() const final;
|
||||||
SettingsHandler::Ptr m_settingsHandler{new SettingsHandler};
|
|
||||||
|
|
||||||
}; // class McuSupportPlugin
|
}; // class McuSupportPlugin
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user