summaryrefslogtreecommitdiff
path: root/src/plugincontainer.cpp
diff options
context:
space:
mode:
authorTom Tanner <thosrtanner2@users.sourceforge.net>2015-03-22 10:49:15 +0000
committerTom Tanner <thosrtanner2@users.sourceforge.net>2015-03-22 10:49:15 +0000
commitea520baf4e4a512744552a8528e3b41145796151 (patch)
treee9bf9269c075004fe69352ce29e739f5619b335c /src/plugincontainer.cpp
parenta9cec9e5e230dbd56d62ae6dd517ae10252125ae (diff)
Fix a meory leak with modules that error during loading
More Sconscript stuff
Diffstat (limited to 'src/plugincontainer.cpp')
-rw-r--r--src/plugincontainer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugincontainer.cpp b/src/plugincontainer.cpp
index 6bc9d12b..e1d9d9f0 100644
--- a/src/plugincontainer.cpp
+++ b/src/plugincontainer.cpp
@@ -266,7 +266,7 @@ void PluginContainer::loadPlugins()
loadCheck.flush();
QString pluginName = iter.filePath();
if (QLibrary::isLibrary(pluginName)) {
- QPluginLoader *pluginLoader = new QPluginLoader(pluginName, this);
+ std::unique_ptr<QPluginLoader> pluginLoader(new QPluginLoader(pluginName, this));
if (pluginLoader->instance() == nullptr) {
m_FailedPlugins.push_back(pluginName);
qCritical("failed to load plugin %s: %s",
@@ -274,7 +274,7 @@ void PluginContainer::loadPlugins()
} else {
if (registerPlugin(pluginLoader->instance(), pluginName)) {
qDebug("loaded plugin \"%s\"", qPrintable(pluginName));
- m_PluginLoaders.push_back(pluginLoader);
+ m_PluginLoaders.push_back(pluginLoader.release());
} else {
m_FailedPlugins.push_back(pluginName);
qWarning("plugin \"%s\" failed to load", qPrintable(pluginName));