AutoTest: Avoid global object pool

Instead of adding internal objects to the global
object pool keep them to handle their destruction.

Change-Id: Ie6217b2a820fbfa6f088fd9349225f5f8488f593
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Stenger
2018-02-01 09:17:56 +01:00
parent e984e5eacb
commit 56fbeb8a68
4 changed files with 19 additions and 8 deletions

View File

@@ -27,7 +27,6 @@
#include "autotestconstants.h"
#include "autotestplugin.h"
#include "iframeworksettings.h"
#include "itestframework.h"
#include "itestparser.h"
#include "itestsettingspage.h"
#include "testrunner.h"
@@ -66,6 +65,8 @@ TestFrameworkManager::~TestFrameworkManager()
{
delete m_testRunner;
delete m_testTreeModel;
qDeleteAll(m_frameworkSettingsPages);
m_frameworkSettingsPages.clear();
for (ITestFramework *framework : m_registeredFrameworks.values())
delete framework;
}
@@ -79,13 +80,11 @@ bool TestFrameworkManager::registerTestFramework(ITestFramework *framework)
qCDebug(LOG) << "Registering" << id;
m_registeredFrameworks.insert(id, framework);
AutotestPlugin *plugin = AutotestPlugin::instance();
if (framework->hasFrameworkSettings()) {
QSharedPointer<IFrameworkSettings> frameworkSettings(framework->createFrameworkSettings());
m_frameworkSettings.insert(id, frameworkSettings);
if (auto page = framework->createSettingsPage(frameworkSettings))
plugin->addAutoReleasedObject(page);
m_frameworkSettingsPages.append(page);
}
return true;
}