diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-07-17 13:01:58 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-07-22 13:22:10 +0000 |
commit | 4d91849b394305dbfbb3bf10ed727d218bf92b70 (patch) | |
tree | 0d2e037906f482cec7345d635c2eee305ad30d79 /src/core/web_engine_library_info.cpp | |
parent | 4d7a3733817c2bd35d18dcaae7816ecb3a490239 (diff) |
Use QCoreApplication::libraryPaths for plugins
Change-Id: I7c926ca93c3bd05d60642d444742247fb8634740
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src/core/web_engine_library_info.cpp')
-rw-r--r-- | src/core/web_engine_library_info.cpp | 25 |
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() |