summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-07-17 13:01:58 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-07-22 13:22:10 +0000
commit4d91849b394305dbfbb3bf10ed727d218bf92b70 (patch)
tree0d2e037906f482cec7345d635c2eee305ad30d79 /src
parent4d7a3733817c2bd35d18dcaae7816ecb3a490239 (diff)
Use QCoreApplication::libraryPaths for plugins
Change-Id: I7c926ca93c3bd05d60642d444742247fb8634740 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/web_engine_library_info.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
index e61fbbeff..589993026 100644
--- a/src/core/web_engine_library_info.cpp
+++ b/src/core/web_engine_library_info.cpp
@@ -145,25 +145,30 @@ QString subProcessPath()
QString pluginsPath()
{
#if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
- return getPath(frameworkBundle()) % QLatin1String("/Libraries");
+ static QString pluginsPath = getPath(frameworkBundle()) % QLatin1String("/Libraries");
#else
static bool initialized = false;
- static QString potentialPluginsPath = QLibraryInfo::location(QLibraryInfo::PluginsPath) % QDir::separator() % QLatin1String("qtwebengine");
+ static QString pluginsPath;
if (!initialized) {
initialized = true;
- if (!QFileInfo::exists(potentialPluginsPath)) {
- qWarning("Installed Qt plugins directory not found at location %s. Trying application directory...", qPrintable(potentialPluginsPath));
- potentialPluginsPath = QCoreApplication::applicationDirPath() % QDir::separator() % QLatin1String("qtwebengine");
+
+ const QStringList directories = QCoreApplication::libraryPaths();
+ Q_FOREACH (const QString &dir, directories) {
+ const QString candidate = dir % "/" % QLatin1String("qtwebengine");
+ if (QFileInfo(candidate).exists()) {
+ pluginsPath = candidate;
+ break;
+ }
}
- if (!QFileInfo::exists(potentialPluginsPath)) {
- qWarning("Qt WebEngine Plugins directory not found at location %s. Trying fallback directory... Plugins as for example video codecs MAY NOT work.", qPrintable(potentialPluginsPath));
- potentialPluginsPath = fallbackDir();
+
+ if (pluginsPath.isEmpty()) {
+ qWarning("Qt WebEngine Plugins directory not found. Trying fallback directory... Plugins as for example video codecs MAY NOT work.");
+ pluginsPath = fallbackDir();
}
}
-
- return potentialPluginsPath;
#endif
+ return pluginsPath;
}
QString localesPath()