summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Duong <joshuaduong@google.com>2019-02-13 19:21:34 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-02-13 19:21:34 +0000
commit0e3b8429facc1a6498f8a1013f73f381767842f2 (patch)
treed40e081b9ae39c828994e0d8ddb66573beed716d
parentf0603b712cf4e2254bf4598e9bce05948e888716 (diff)
parent2aa16632ef438e31722b5e9731ead0b5734a54df (diff)
downloadqt-0e3b8429facc1a6498f8a1013f73f381767842f2.tar.gz
Merge changes Ie94cb261,I52c6dcf7,I126f36e5,I3e7db528,Ibae2aa1e into emu-master-dev
* changes: PATCH (Qt 5.12.1): Add custom chromium dependencies path. PATCH (Qt 5.12.1): Fix potential null pointer dereference PATCH (Qt 5.12.1): Filter dlls for plugin loading. Add documentation on how to update Qt. PATCH (Qt 5.12.1): Comment out syncqt in qtbase.
-rw-r--r--README9
-rw-r--r--qt-everywhere-src-5.12.1/qtbase/qtbase.pro2
-rw-r--r--qt-everywhere-src-5.12.1/qtbase/src/corelib/plugin/qfactoryloader.cpp8
-rw-r--r--qt-everywhere-src-5.12.1/qtbase/src/gui/image/qimage.cpp3
-rw-r--r--qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/BUILD.gn16
-rw-r--r--qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/compiler.gni6
6 files changed, 38 insertions, 6 deletions
diff --git a/README b/README
new file mode 100644
index 0000000000..89e910d3e4
--- /dev/null
+++ b/README
@@ -0,0 +1,9 @@
+Steps to update Qt:
+
+1) Grab the source code from http://download.qt.io/official_releases/qt
+2) Unzip into here (external/qt)
+3) Merge the source
+4) Apply any patches that were applied to the last version of Qt we imported
+ - Look through the git history for any CLs with "PATCH (<latest_version>)..."
+ and try to apply them to the Qt version you are trying to bring in.
+ - For every patch applied, create a CL for it.
diff --git a/qt-everywhere-src-5.12.1/qtbase/qtbase.pro b/qt-everywhere-src-5.12.1/qtbase/qtbase.pro
index c0ce0972ef..7986dbea3f 100644
--- a/qt-everywhere-src-5.12.1/qtbase/qtbase.pro
+++ b/qt-everywhere-src-5.12.1/qtbase/qtbase.pro
@@ -51,7 +51,7 @@ INSTALLS += fixqt4headers
#syncqt
syncqt.path = $$[QT_HOST_BINS]
syncqt.files = $$PWD/bin/syncqt.pl
-INSTALLS += syncqt
+#INSTALLS += syncqt
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to find the non-installed syncqt.
diff --git a/qt-everywhere-src-5.12.1/qtbase/src/corelib/plugin/qfactoryloader.cpp b/qt-everywhere-src-5.12.1/qtbase/src/corelib/plugin/qfactoryloader.cpp
index 35c64180d4..016879cca8 100644
--- a/qt-everywhere-src-5.12.1/qtbase/src/corelib/plugin/qfactoryloader.cpp
+++ b/qt-everywhere-src-5.12.1/qtbase/src/corelib/plugin/qfactoryloader.cpp
@@ -202,8 +202,14 @@ void QFactoryLoader::update()
continue;
QStringList plugins = QDir(path).entryList(
-#ifdef Q_OS_WIN
+#if defined(Q_OS_WIN)
QStringList(QStringLiteral("*.dll")),
+#if defined(Q_OS_MAC)
+ QStringList(QStringLiteral("*.dylib*")),
+#if defined(Q_OS_LIN)
+ QStringList(QStringLiteral("*.so*")),
+#else
+ QStringList(QStringLiteral("*")),
#endif
QDir::Files);
QLibraryPrivate *library = 0;
diff --git a/qt-everywhere-src-5.12.1/qtbase/src/gui/image/qimage.cpp b/qt-everywhere-src-5.12.1/qtbase/src/gui/image/qimage.cpp
index 830a110d68..f32a93190e 100644
--- a/qt-everywhere-src-5.12.1/qtbase/src/gui/image/qimage.cpp
+++ b/qt-everywhere-src-5.12.1/qtbase/src/gui/image/qimage.cpp
@@ -4620,6 +4620,9 @@ int QImage::bitPlaneCount() const
*/
QImage QImage::smoothScaled(int w, int h) const {
QImage src = *this;
+ if (src.isNull()) {
+ return QImage();
+ }
switch (src.format()) {
case QImage::Format_RGB32:
case QImage::Format_ARGB32_Premultiplied:
diff --git a/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/BUILD.gn b/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/BUILD.gn
index d223a4f6fd..f78031e75a 100644
--- a/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/BUILD.gn
+++ b/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/BUILD.gn
@@ -183,10 +183,18 @@ if (use_debug_fission == "default") {
# source root and might have conflicting versions of some headers) can remove
# this and specify their own include paths.
config("default_include_dirs") {
- include_dirs = [
- root_gen_dir,
- "//",
- ]
+ if (is_linux) {
+ include_dirs = [
+ root_gen_dir,
+ "//",
+ qtwebengine_deps_dir,
+ ]
+ } else {
+ include_dirs = [
+ root_gen_dir,
+ "//",
+ ]
+ }
}
# compiler ---------------------------------------------------------------------
diff --git a/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/compiler.gni b/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/compiler.gni
index 431fc3d1fc..7e7020330a 100644
--- a/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/compiler.gni
+++ b/qt-everywhere-src-5.12.1/qtwebengine/src/3rdparty/chromium/build/config/compiler/compiler.gni
@@ -224,6 +224,12 @@ if (symbol_level == -1) {
}
}
+# A hack to include our custom toolchain includes for
+# qtwebengine dependencies, because it seems that the chromium toolchain assumes that some of the libraries are in the /usr/lib directory.
+if (is_linux) {
+ qtwebengine_deps_dir = getenv("QTWEBENGINE_DEPS_DIR") + "/include"
+}
+
# Assert that the configuration isn't going to hit https://crbug.com/648948.
# An exception is made when target_os == "chromeos" as we only use the Android
# toolchain there to build relatively small binaries.