diff options
Diffstat (limited to 'src/corelib/plugin/qlibrary_p.h')
-rw-r--r-- | src/corelib/plugin/qlibrary_p.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/plugin/qlibrary_p.h b/src/corelib/plugin/qlibrary_p.h index e58d18e87b..df95d1342d 100644 --- a/src/corelib/plugin/qlibrary_p.h +++ b/src/corelib/plugin/qlibrary_p.h @@ -94,6 +94,10 @@ public: void release(); QFunctionPointer resolve(const char *); + QLibrary::LoadHints loadHints() const + { return QLibrary::LoadHints(loadHintsInt.load()); } + void setLoadHints(QLibrary::LoadHints lh); + static QLibraryPrivate *findOrCreate(const QString &fileName, const QString &version = QString(), QLibrary::LoadHints loadHints = 0); static QStringList suffixes_sys(const QString &fullVersion); @@ -104,7 +108,6 @@ public: QJsonObject metaData; QString errorString; - QLibrary::LoadHints loadHints; void updatePluginState(); bool isPlugin(); @@ -126,6 +129,8 @@ private: bool unload_sys(); QFunctionPointer resolve_sys(const char *); + QAtomicInt loadHintsInt; + /// counts how many QLibrary or QPluginLoader are attached to us, plus 1 if it's loaded QAtomicInt libraryRefCount; /// counts how many times load() or loadPlugin() were called |