summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qfactoryloader.cpp
diff options
context:
space:
mode:
authorKari Oikarinen <kari.oikarinen@qt.io>2020-03-10 09:43:16 +0200
committerKari Oikarinen <kari.oikarinen@qt.io>2020-03-10 09:43:16 +0200
commitd6d902a990c6983aacfeba0b580f36fdc9666cbc (patch)
treec53b64feadf63672f28167bc69b3f038ced4543f /src/corelib/plugin/qfactoryloader.cpp
parent7fcc4e0a57deb01de209ec8ff4d92c3a81e61fe9 (diff)
parent3702a4c37e06a989cdd1cf19a26bc0d1c3fba07c (diff)
Merge 5.14 into 5.14.2
Diffstat (limited to 'src/corelib/plugin/qfactoryloader.cpp')
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 18f10c9b43..9a6a69676d 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -389,17 +389,12 @@ QObject *QFactoryLoader::instance(int index) const
QMutexLocker lock(&d->mutex);
if (index < d->libraryList.size()) {
QLibraryPrivate *library = d->libraryList.at(index);
- if (library->instance || library->loadPlugin()) {
- if (!library->inst)
- library->inst = library->instance();
- QObject *obj = library->inst.data();
- if (obj) {
- if (!obj->parent())
- obj->moveToThread(QCoreApplicationPrivate::mainThread());
- return obj;
- }
+ if (QObject *obj = library->pluginInstance()) {
+ if (!obj->parent())
+ obj->moveToThread(QCoreApplicationPrivate::mainThread());
+ return obj;
}
- return 0;
+ return nullptr;
}
index -= d->libraryList.size();
lock.unlock();