diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2020-01-31 16:36:29 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2020-01-31 14:40:49 +0000 |
commit | 7855122c5398a01f3d8e0e6d1885a2e723106871 (patch) | |
tree | 78622a979d41c262ddf47d04da7bc1935e6d6088 | |
parent | cf8dd5cb3c40b8a071220dfa2e319eb8bdd2df48 (diff) |
Fix crash on startup
FossilPluginPrivate::instance() was called before dd was assigned.
Change-Id: Id6bb6a0134ffa80e18c9c9cc144fb25ca6a2be6b
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | plugins/fossil/fossilplugin.cpp | 4 | ||||
-rw-r--r-- | plugins/fossil/wizard/fossiljsextension.cpp | 8 | ||||
-rw-r--r-- | plugins/fossil/wizard/fossiljsextension.h | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/plugins/fossil/fossilplugin.cpp b/plugins/fossil/fossilplugin.cpp index eb82cb4..94cbf88 100644 --- a/plugins/fossil/fossilplugin.cpp +++ b/plugins/fossil/fossilplugin.cpp @@ -173,7 +173,9 @@ FossilPluginPrivate::FossilPluginPrivate() m_commandLocator = new Core::CommandLocator("Fossil", "fossil", "fossil", this); ProjectExplorer::JsonWizardFactory::addWizardPath(Utils::FilePath::fromString(Constants::WIZARD_PATH)); - Core::JsExpander::registerGlobalObject<FossilJsExtension>("Fossil"); + Core::JsExpander::registerGlobalObject("Fossil", [this] { + return new FossilJsExtension(&m_fossilSettings); + }); createMenu(context); diff --git a/plugins/fossil/wizard/fossiljsextension.cpp b/plugins/fossil/wizard/fossiljsextension.cpp index 6124557..0908278 100644 --- a/plugins/fossil/wizard/fossiljsextension.cpp +++ b/plugins/fossil/wizard/fossiljsextension.cpp @@ -41,9 +41,9 @@ namespace Internal { class FossilJsExtensionPrivate { public: - FossilJsExtensionPrivate() : + FossilJsExtensionPrivate(FossilSettings *settings) : m_vscId(Constants::VCS_ID_FOSSIL), - m_settings(&FossilPluginPrivate::instance()->client()->settings()) + m_settings(settings) { } @@ -64,8 +64,8 @@ void FossilJsExtension::parseArgOptions(const QStringList &args, QMap<QString, Q } } -FossilJsExtension::FossilJsExtension() : - d(new FossilJsExtensionPrivate()) +FossilJsExtension::FossilJsExtension(FossilSettings *settings) : + d(new FossilJsExtensionPrivate(settings)) { } FossilJsExtension::~FossilJsExtension() diff --git a/plugins/fossil/wizard/fossiljsextension.h b/plugins/fossil/wizard/fossiljsextension.h index 926a92c..9e9ff02 100644 --- a/plugins/fossil/wizard/fossiljsextension.h +++ b/plugins/fossil/wizard/fossiljsextension.h @@ -44,7 +44,7 @@ class FossilJsExtension : public QObject public: static void parseArgOptions(const QStringList &args, QMap<QString, QString> &options); - FossilJsExtension(); + FossilJsExtension(FossilSettings *settings); ~FossilJsExtension(); Q_INVOKABLE bool isConfigured() const; |