diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-03 15:51:20 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-03 15:51:20 (GMT) |
commit | d6c9b45f5979d6b99b1078db38d6ae402fb4332c (patch) | |
tree | 08848e52e49acf706498a1c5031c44eb23f4998f /src | |
parent | 98ce026af9e1fcdc9ae68a2757d102c9093c023c (diff) | |
parent | 7f6fe4bc968763d50c4b1d61017f9a45927250e9 (diff) | |
download | Qt-d6c9b45f5979d6b99b1078db38d6ae402fb4332c.zip Qt-d6c9b45f5979d6b99b1078db38d6ae402fb4332c.tar.gz Qt-d6c9b45f5979d6b99b1078db38d6ae402fb4332c.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
[plugins] Don't conclude that a .debug file is a plugin.
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/plugin/qlibrary.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp index a2c575a..0f99948 100644 --- a/src/corelib/plugin/qlibrary.cpp +++ b/src/corelib/plugin/qlibrary.cpp @@ -620,6 +620,20 @@ bool QLibraryPrivate::isPlugin(QSettings *settings) QByteArray key; bool success = false; +#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) + if (fileName.endsWith(QLatin1String(".debug"))) { + // refuse to load a file that ends in .debug + // these are the debug symbols from the libraries + // the problem is that they are valid shared library files + // and dlopen is known to crash while opening them + + // pretend we didn't see the file + errorString = QLibrary::tr("The shared library was not found."); + pluginState = IsNotAPlugin; + return false; + } +#endif + QFileInfo fileinfo(fileName); #ifndef QT_NO_DATESTRING |