summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qpluginloader.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-03-11 01:00:24 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2020-03-11 11:27:49 +0100
commit116d68f105db025f56c1fd5115ff4924bc22d7c2 (patch)
treeae04596b19c34eccc60ff7477da6a0166c5f82b1 /src/corelib/plugin/qpluginloader.cpp
parent52de905d0ec6159d3a1e7ad63fed018b5c6973d2 (diff)
parentbd3c82f8db4391fc1d6d3338827356143fd598dd (diff)
Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts: src/corelib/plugin/qlibrary.cpp src/corelib/plugin/qlibrary_unix.cpp src/corelib/plugin/qpluginloader.cpp Change-Id: I866feaaa2a4936ee5389679724c8471a5b4b583d
Diffstat (limited to 'src/corelib/plugin/qpluginloader.cpp')
-rw-r--r--src/corelib/plugin/qpluginloader.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
index f34578ea810..0a63b93762c 100644
--- a/src/corelib/plugin/qpluginloader.cpp
+++ b/src/corelib/plugin/qpluginloader.cpp
@@ -196,9 +196,7 @@ QObject *QPluginLoader::instance()
{
if (!isLoaded() && !load())
return nullptr;
- if (!d->inst && d->instance)
- d->inst = d->instance();
- return d->inst.data();
+ return d->pluginInstance();
}
/*!
@@ -233,7 +231,7 @@ bool QPluginLoader::load()
if (!d || d->fileName.isEmpty())
return false;
if (did_load)
- return d->pHnd && d->instance;
+ return d->pHnd && d->instanceFactory.loadAcquire();
if (!d->isPlugin())
return false;
did_load = true;
@@ -275,7 +273,7 @@ bool QPluginLoader::unload()
*/
bool QPluginLoader::isLoaded() const
{
- return d && d->pHnd && d->instance;
+ return d && d->pHnd && d->instanceFactory.loadRelaxed();
}
#if defined(QT_SHARED)