summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2018-04-16 13:21:52 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2018-04-18 08:43:42 +0000
commitb7a4918f89debdf4178f4eb3bdbd065d55ebac1e (patch)
tree65e27c25b0bfb48a11a635c49c4212cbc2d0c328
parentb7e5722cce95730004ef6cb9f4aabde5bbd5685d (diff)
Consider various resources fallback paths on macOS framework build
When building a macOS framework build, paths like process path, resources path, icu path, etc are determined solely by the existence of the WebEngineCore.framework bundle, which is found using its bundle id. There might be cases when the bundle is not present. For example when deploying a WebEngine PySide2 application using PyInstaller, the layout of the copied files is changed. In this case considering application path (current application directory) as a candidate path, as well as the rest of the candidates paths would be useful. Change-Id: Ide3fd62756659ec8d42c5629c0efa1d60602ed80 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--src/core/web_engine_library_info.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
index 35b139602..515f763d2 100644
--- a/src/core/web_engine_library_info.cpp
+++ b/src/core/web_engine_library_info.cpp
@@ -163,9 +163,9 @@ QString subProcessPath()
#else
candidatePaths << QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath)
% QLatin1Char('/') % processBinary;
+#endif
candidatePaths << QCoreApplication::applicationDirPath()
% QLatin1Char('/') % processBinary;
-#endif
}
Q_FOREACH (const QString &candidate, candidatePaths) {
@@ -185,11 +185,13 @@ QString subProcessPath()
QString localesPath()
{
+ static bool initialized = false;
+ static QString potentialLocalesPath =
#if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
- return getResourcesPath(frameworkBundle()) % QLatin1String("/qtwebengine_locales");
+ getResourcesPath(frameworkBundle()) % QLatin1String("/qtwebengine_locales");
#else
- static bool initialized = false;
- static QString potentialLocalesPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath) % QDir::separator() % QLatin1String("qtwebengine_locales");
+ QLibraryInfo::location(QLibraryInfo::TranslationsPath) % QDir::separator() % QLatin1String("qtwebengine_locales");
+#endif
if (!initialized) {
initialized = true;
@@ -204,7 +206,6 @@ QString localesPath()
}
return potentialLocalesPath;
-#endif
}
#if BUILDFLAG(ENABLE_SPELLCHECK)
@@ -257,11 +258,13 @@ QString dictionariesPath()
QString icuDataPath()
{
+ static bool initialized = false;
+ static QString potentialResourcesPath =
#if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
- return getResourcesPath(frameworkBundle());
+ getResourcesPath(frameworkBundle());
#else
- static bool initialized = false;
- static QString potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
+ QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
+#endif
if (!initialized) {
initialized = true;
if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
@@ -279,16 +282,17 @@ QString icuDataPath()
}
return potentialResourcesPath;
-#endif
}
QString resourcesDataPath()
{
+ static bool initialized = false;
+ static QString potentialResourcesPath =
#if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
- return getResourcesPath(frameworkBundle());
+ getResourcesPath(frameworkBundle());
#else
- static bool initialized = false;
- static QString potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
+ QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
+#endif
if (!initialized) {
initialized = true;
if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
@@ -306,7 +310,6 @@ QString resourcesDataPath()
}
return potentialResourcesPath;
-#endif
}
} // namespace