summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qlibrary.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-10-21 11:15:55 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2014-12-02 14:38:36 +0100
commit864cf2a6cd658e4b98e1248e9aaab6fe6afc038f (patch)
tree61ca5ea284c9155af09c0d10d1af0989306e9137 /src/corelib/plugin/qlibrary.h
parentf6eb3c220b17ecb56befe1a1ea2241ca6d5ab0c8 (diff)
Add DeepBind option to QLibrary
Adds an option to request the RTLD_DEEPBIND flag to dlopen. On Linux this can be used to force a library to resolve global symbols locally instead of using the similarly named symbols already loaded. This makes it possible to load and use plugins linked against Qt 4 without crashing. [ChangeLog][QtCore][QLibrary] Added DeepBindHint which maps to RTLD_DEEPBIND on Linux making it possible to load libraries with external symbols that clash with already loaded ones, such as plugins linked to Qt4. Change-Id: I4edb4af68e4a47e932a87d108360dba8d91dc34a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/plugin/qlibrary.h')
-rw-r--r--src/corelib/plugin/qlibrary.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/plugin/qlibrary.h b/src/corelib/plugin/qlibrary.h
index 77fe432761..327af8aada 100644
--- a/src/corelib/plugin/qlibrary.h
+++ b/src/corelib/plugin/qlibrary.h
@@ -53,7 +53,8 @@ public:
ResolveAllSymbolsHint = 0x01,
ExportExternalSymbolsHint = 0x02,
LoadArchiveMemberHint = 0x04,
- PreventUnloadHint = 0x08
+ PreventUnloadHint = 0x08,
+ DeepBindHint = 0x10
};
Q_DECLARE_FLAGS(LoadHints, LoadHint)