diff options
author | Joshua Duong <joshuaduong@google.com> | 2019-02-13 19:21:34 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-02-13 19:21:34 +0000 |
commit | 0e3b8429facc1a6498f8a1013f73f381767842f2 (patch) | |
tree | d40e081b9ae39c828994e0d8ddb66573beed716d | |
parent | f0603b712cf4e2254bf4598e9bce05948e888716 (diff) | |
parent | 2aa16632ef438e31722b5e9731ead0b5734a54df (diff) | |
download | qt-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.
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. |