summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2020-01-31 16:36:29 +0200
committerOrgad Shaneh <orgads@gmail.com>2020-01-31 14:40:49 +0000
commit7855122c5398a01f3d8e0e6d1885a2e723106871 (patch)
tree78622a979d41c262ddf47d04da7bc1935e6d6088
parentcf8dd5cb3c40b8a071220dfa2e319eb8bdd2df48 (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.cpp4
-rw-r--r--plugins/fossil/wizard/fossiljsextension.cpp8
-rw-r--r--plugins/fossil/wizard/fossiljsextension.h2
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;