diff options
author | hjk <hjk@qt.io> | 2018-02-07 11:48:18 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-02-07 14:23:53 +0000 |
commit | c9ceed697ff288c2c0abcddc9f02e6958ea9d5cd (patch) | |
tree | 3469e342e2ebb079010aeefbdc54e0d54cb2dea7 /src/plugins/cpaster | |
parent | e48d8afedd46e631ca96e7f02457ee9591566053 (diff) |
CodePaster: Avoid use of global object pool
Change-Id: Ib81694d9dd3e8d040adc9ca12e9296e5cceb8208
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/cpaster')
-rw-r--r-- | src/plugins/cpaster/cpasterplugin.cpp | 7 | ||||
-rw-r--r-- | src/plugins/cpaster/fileshareprotocol.cpp | 1 | ||||
-rw-r--r-- | src/plugins/cpaster/settingspage.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cpaster/settingspage.h | 2 |
4 files changed, 6 insertions, 8 deletions
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index 713ebbd1735..ef3d4cae5a7 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -116,8 +116,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe // Create the settings Page m_settings->fromSettings(ICore::settings()); - SettingsPage *settingsPage = new SettingsPage(m_settings); - addAutoReleasedObject(settingsPage); + SettingsPage *settingsPage = new SettingsPage(m_settings, this); // Create the protocols and append them to the Settings Protocol *protos[] = {new PasteBinDotComProtocol, @@ -130,8 +129,6 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe connect(protos[i], &Protocol::pasteDone, this, &CodepasterPlugin::finishPost); connect(protos[i], &Protocol::fetchDone, this, &CodepasterPlugin::finishFetch); settingsPage->addProtocol(protos[i]->name()); - if (protos[i]->hasSettings()) - addAutoReleasedObject(protos[i]->settingsPage()); m_protocols.append(protos[i]); } @@ -167,7 +164,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe connect(m_fetchUrlAction, &QAction::triggered, this, &CodepasterPlugin::fetchUrl); cpContainer->addAction(command); - addAutoReleasedObject(new CodePasterServiceImpl); + new CodePasterServiceImpl(this); return true; } diff --git a/src/plugins/cpaster/fileshareprotocol.cpp b/src/plugins/cpaster/fileshareprotocol.cpp index a3be32d7eaf..21a9796b746 100644 --- a/src/plugins/cpaster/fileshareprotocol.cpp +++ b/src/plugins/cpaster/fileshareprotocol.cpp @@ -56,6 +56,7 @@ FileShareProtocol::FileShareProtocol() : FileShareProtocol::~FileShareProtocol() { + delete m_settingsPage; } QString FileShareProtocol::name() const diff --git a/src/plugins/cpaster/settingspage.cpp b/src/plugins/cpaster/settingspage.cpp index 892b790fe5c..1aa8f260975 100644 --- a/src/plugins/cpaster/settingspage.cpp +++ b/src/plugins/cpaster/settingspage.cpp @@ -62,8 +62,8 @@ Settings SettingsWidget::settings() return rc; } -SettingsPage::SettingsPage(const QSharedPointer<Settings> &settings) : - m_settings(settings), m_widget(nullptr) +SettingsPage::SettingsPage(const QSharedPointer<Settings> &settings, QObject *parent) + : Core::IOptionsPage(parent), m_settings(settings), m_widget(nullptr) { setId("A.CodePaster.General"); setDisplayName(tr("General")); diff --git a/src/plugins/cpaster/settingspage.h b/src/plugins/cpaster/settingspage.h index 6eaba8dbb67..3abfd0397a8 100644 --- a/src/plugins/cpaster/settingspage.h +++ b/src/plugins/cpaster/settingspage.h @@ -56,7 +56,7 @@ class SettingsPage : public Core::IOptionsPage Q_OBJECT public: - explicit SettingsPage(const QSharedPointer<Settings> &settings); + explicit SettingsPage(const QSharedPointer<Settings> &settings, QObject *parent); ~SettingsPage() override; QWidget *widget() override; |