Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/5.15' into dev
Browse files Browse the repository at this point in the history
 Conflicts:
	examples/opengl/doc/src/cube.qdoc
	src/corelib/global/qlibraryinfo.cpp
	src/corelib/text/qbytearray_p.h
	src/corelib/text/qlocale_data_p.h
	src/corelib/time/qhijricalendar_data_p.h
	src/corelib/time/qjalalicalendar_data_p.h
	src/corelib/time/qromancalendar_data_p.h
	src/network/ssl/qsslcertificate.h
	src/widgets/doc/src/graphicsview.qdoc
	src/widgets/widgets/qcombobox.cpp
	src/widgets/widgets/qcombobox.h
	tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
	tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
	tests/manual/diaglib/debugproxystyle.cpp
	tests/manual/diaglib/qwidgetdump.cpp
	tests/manual/diaglib/qwindowdump.cpp
	tests/manual/diaglib/textdump.cpp
	util/locale_database/cldr2qlocalexml.py
	util/locale_database/qlocalexml.py
	util/locale_database/qlocalexml2cpp.py

Resolution of util/locale_database/ are based on:
https://codereview.qt-project.org/c/qt/qtbase/+/294250
and src/corelib/{text,time}/*_data_p.h were then regenerated by
running those scripts.

Updated CMakeLists.txt in each of
	tests/auto/corelib/serialization/qcborstreamreader/
	tests/auto/corelib/serialization/qcborvalue/
	tests/auto/gui/kernel/
and generated new ones in each of
	tests/auto/gui/kernel/qaddpostroutine/
	tests/auto/gui/kernel/qhighdpiscaling/
	tests/libfuzzer/corelib/text/qregularexpression/optimize/
	tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/
	tests/libfuzzer/gui/text/qtextdocument/sethtml/
	tests/libfuzzer/gui/text/qtextdocument/setmarkdown/
	tests/libfuzzer/gui/text/qtextlayout/beginlayout/
by running util/cmake/pro2cmake.py on their changed .pro files.

Changed target name in
	tests/auto/gui/kernel/qaction/qaction.pro
	tests/auto/gui/kernel/qaction/qactiongroup.pro
	tests/auto/gui/kernel/qshortcut/qshortcut.pro
to ensure unique target names for CMake

Changed tst_QComboBox::currentIndex to not test the
currentIndexChanged(QString), as that one does not exist in Qt 6
anymore.

Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
  • Loading branch information
Qt Forward Merge Bot authored and Inkane committed Apr 8, 2020
2 parents 5422fb7 + 14c55e2 commit 8823bb8
Show file tree
Hide file tree
Showing 399 changed files with 8,910 additions and 4,463 deletions.
5 changes: 1 addition & 4 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -363,12 +363,9 @@ macSDKify()
val=$(echo $sdk_val $(echo $val | cut -s -d ' ' -f 2-))
echo "$var=$val"
;;
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*)
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*|QMAKE_LFLAGS=*)
echo "$line -isysroot $sysroot $version_min_flag"
;;
QMAKE_LFLAGS=*)
echo "$line -Wl,-syslibroot,$sysroot $version_min_flag"
;;
*)
echo "$line"
;;
Expand Down
117 changes: 117 additions & 0 deletions dist/changes-5.14.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
Qt 5.14.2 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.14.0 through 5.14.1.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

https://doc.qt.io/qt-5/index.html

The Qt version 5.14 series is binary compatible with the 5.13.x series.
Applications compiled for 5.13 will continue to run with 5.14.

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

https://bugreports.qt.io/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.

****************************************************************************
* QtCore *
****************************************************************************

- QCollator:
* QTBUG-81673: Fixed a regression introduced in 5.14.0 that caused
QCollator not to operate with default-constructed QStrings and print a
warning on Windows.

- QString, codecs:
* QTBUG-62011: ZWNBS is no longer discarded (mistaken for a BOM despite
not being at the start) when converting UCS4 to QString's UCS2.

- QLocale:
* QTBUG-80459: Skip digit-grouping if the system locale is configured to
use an empty group separator.
* QTBUG-81530: Use "+" if MS reports empty for the system locale's plus
sign, as documented in MS's API for the relevant query.

- QLockFile:
* Suppressed the warning on QNX that said 'setNativeLocks failed:
"Function not implemented"'. There is no difference in behavior: Qt
will continue not to be able to apply an OS- level file lock, which
means the lock could be accidentally stolen by buggy software. Correct
software using QLockFile should not be affected.

- QObject:
* For the purposes of QT_NO_NARROWING_CONVERSIONS_IN_CONNECT, pointer
(incl. pointer-to-member) to bool conversions are now considered
narrowing. This matches the resolution of a defect report in C++
itself.

- QStorageInfo:
* Improved discovery of device nodes on Linux if the /dev entry was
renamed after the filesystem was mounted and udev is in use.

****************************************************************************
* QtGui *
****************************************************************************

- QTextMarkdownImporter:
* Text in Markdown format is assumed to be UTF-8.
* The "title" in a Markdown hyperlink is now used as the tooltip,
not the anchor name.
* Fixed vulnerability oss-fuzz-20450 (invalid input resulted in an
attempt to insert items into a list that no longer exists).

****************************************************************************
* QtWidgets *
****************************************************************************

- QLineEdit:
* the inputMask property has allowed any Letter or Number category
character for the respective mask characters, not just ASCII. The
documentation has been updated accordingly.

****************************************************************************
* qmake *
****************************************************************************

- To remove the NDEBUG define that is added by default in MSVC mkspecs,
write DEFINES_RELEASE -= NDEBUG in your .pro file.
- Install/uninstall rules are now generated for target.targets on Windows.
This mirrors the behavior on Unix.

****************************************************************************
* Third-Party Code *
****************************************************************************

- md4c was updated to 0.4.3. This fixes vulnerability oss-fuzz-20580.

- QtSQL, sqlite:
* Updated to v3.31.1
* [QTBUG-82533] Fixed CVE-2020-9327

****************************************************************************
* CMake *
****************************************************************************

- Windows:
* Fixed linking with Qt static build

****************************************************************************
* MSVC *
****************************************************************************

- Fixed a compatibility issue found when linking code compiled with
version 16.6 to a Qt compiled with 16.5.

****************************************************************************
* MinGW *
****************************************************************************

- Fixed build regressions.
- The -debug-and-release configuration has been fixed. In this
configuration, Qt libraries again have a 'd' suffix.
- In the -debug configuration, libraries do not have a 'd' suffix, similar
to Unix platforms.
22 changes: 3 additions & 19 deletions doc/global/qt-html-templates-offline-simple.qdocconf
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,11 @@ HTML.headerstyles = \
" }, 0);\n" \
" </script>\n"

HTML.postheader = \
"<body>\n" \
"<div class=\"header\" id=\"qtdocheader\">\n"\
" <div class=\"main\">\n" \
" <div class=\"main-rounded\">\n" \
" <div class=\"navigationbar\">\n" \
" <table><tr>\n"

HTML.postpostheader = \
" </tr></table>\n"\
" </div>\n" \
" </div>\n" \
"<div class=\"content\">\n" \
"<div class=\"line\">\n" \
"<div class=\"content mainContent\">\n"

HTML.navigationseparator = \
"<span class=\"naviSeparator\"> &#9702; </span>\n"

# Add some padding around code snippets, as we cannot
# currectly style them for QTextBrowser using only CSS.
codeindent = 2
codeprefix = "\n\n"
codesuffix = "\n\n"
codeindent = 1
codeprefix = "\n"
codesuffix = "\n"
5 changes: 4 additions & 1 deletion doc/global/template/style/offline.css
Original file line number Diff line number Diff line change
Expand Up @@ -297,11 +297,14 @@ table.buildversion {

#buildversion {
font-style: italic;
font-size: small;
float: right;
margin-right: 5px;
}

#buildversion a {
background: none;
}

/*
/* table of content
Expand Down
3 changes: 1 addition & 2 deletions examples/network/multistreamclient/client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,7 @@ Client::Client(QWidget *parent)
connect(sctpSocket, &QSctpSocket::connected, this, &Client::connected);
connect(sctpSocket, &QSctpSocket::disconnected, this, &Client::disconnected);
connect(sctpSocket, &QSctpSocket::channelReadyRead, this, &Client::readDatagram);
connect(sctpSocket, QOverload<QAbstractSocket::SocketError>::of(&QSctpSocket::error),
this, &Client::displayError);
connect(sctpSocket, &QSctpSocket::errorOccurred, this, &Client::displayError);
connect(consumers[SctpChannels::Time], &Consumer::writeDatagram, this, &Client::writeDatagram);
connect(consumers[SctpChannels::Chat], &Consumer::writeDatagram, this, &Client::writeDatagram);

Expand Down
2 changes: 1 addition & 1 deletion examples/network/securesocketclient/sslclient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ void SslClient::setupSecureSocket()
this, &SslClient::socketStateChanged);
connect(socket, &QSslSocket::encrypted,
this, &SslClient::socketEncrypted);
connect(socket, QOverload<QAbstractSocket::SocketError>::of(&QSslSocket::error),
connect(socket, &QSslSocket::errorOccurred,
this, &SslClient::socketError);
connect(socket, QOverload<const QList<QSslError> &>::of(&QSslSocket::sslErrors),
this, &SslClient::sslErrors);
Expand Down
2 changes: 1 addition & 1 deletion examples/network/torrent/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ MainWindow::MainWindow(QWidget *parent)
bottomBar->addWidget((uploadLimitLabel = new QLabel(tr("0 KB/s"))));
uploadLimitLabel->setFixedSize(QSize(fm.horizontalAdvance(tr("99999 KB/s")), fm.lineSpacing()));

#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
setUnifiedTitleAndToolBarOnMac(true);
#endif

Expand Down
2 changes: 1 addition & 1 deletion examples/opengl/doc/src/cube.qdoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/desktop/systray/window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ void Window::setVisible(bool visible)
//! [2]
void Window::closeEvent(QCloseEvent *event)
{
#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
if (!event->spontaneous() || !isVisible()) {
return;
}
Expand Down
4 changes: 2 additions & 2 deletions examples/widgets/mainwindows/mainwindow/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ void MainWindow::actionTriggered(QAction *action)

void MainWindow::setupToolBar()
{
#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
setUnifiedTitleAndToolBarOnMac(true);
#endif

Expand Down Expand Up @@ -178,7 +178,7 @@ void MainWindow::setupMenuBar()
for (int i = 0; i < toolBars.count(); ++i)
toolBarMenu->addMenu(toolBars.at(i)->toolbarMenu());

#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
toolBarMenu->addSeparator();

action = toolBarMenu->addAction(tr("Unified"));
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/richtext/textedit/textedit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ const QString rsrcPath = ":/images/win";
TextEdit::TextEdit(QWidget *parent)
: QMainWindow(parent)
{
#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
setUnifiedTitleAndToolBarOnMac(true);
#endif
setWindowTitle(QCoreApplication::applicationName());
Expand Down
4 changes: 2 additions & 2 deletions examples/widgets/tools/settingseditor/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ void MainWindow::createActions()
QAction *openIniFileAct = fileMenu->addAction(tr("Open I&NI File..."), this, &MainWindow::openIniFile);
openIniFileAct->setShortcut(tr("Ctrl+N"));

#ifdef Q_OS_OSX
#ifdef Q_OS_MACOS
QAction *openPropertyListAct = fileMenu->addAction(tr("Open Apple &Property List..."), this, &MainWindow::openPropertyList);
openPropertyListAct->setShortcut(tr("Ctrl+P"));
#endif // Q_OS_OSX
#endif // Q_OS_MACOS

#ifdef Q_OS_WIN
QAction *openRegistryPathAct = fileMenu->addAction(tr("Open Windows &Registry Path..."), this, &MainWindow::openRegistryPath);
Expand Down
5 changes: 5 additions & 0 deletions mkspecs/common/msvc-based-version.conf
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,9 @@ greaterThan(QMAKE_MSC_VER, 1910) {
COMPAT_MKSPEC =
}

greaterThan(QMAKE_MSC_VER, 1919) {
# Visual Studio 2019 (16.0) / Visual C++ 19.20 and up
MSVC_VER = 16.0
}

!isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
xmlns:uap=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\"
xmlns:uap3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10/3\"
xmlns:mobile=\"http://schemas.microsoft.com/appx/manifest/mobile/windows10\"
IgnorableNamespaces=\"uap uap3 mp mobile\">
xmlns:iot=\"http://schemas.microsoft.com/appx/manifest/iot/windows10\"
IgnorableNamespaces=\"uap uap3 mp mobile iot\">

<Identity
Name=\"$${WINRT_MANIFEST.identity}\"
Expand Down
19 changes: 12 additions & 7 deletions mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

if (CMAKE_VERSION VERSION_LESS 3.1.0)
message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
endif()
Expand Down Expand Up @@ -406,8 +405,12 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ENDIF
endif()

!!IF equals(TEMPLATE, aux)
add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
!!ELSE
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
!!ENDIF
!!ELSE
!!IF equals(TEMPLATE, aux)
add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
Expand Down Expand Up @@ -566,8 +569,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ENDIF // TEMPLATE != aux

!!IF isEmpty(CMAKE_INTERNAL_MODULE)

file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
# In Qt 5.15 the glob pattern was relaxed to also catch plugins not literally named "Plugin".
# Define QT5_STRICT_PLUGIN_GLOB or ModuleName_STRICT_PLUGIN_GLOB to revert to old behavior.
if (QT5_STRICT_PLUGIN_GLOB OR Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB)
file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
else()
file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
endif()

macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION
IsDebugAndRelease)
Expand Down Expand Up @@ -628,10 +636,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
include(${pluginTarget})
endforeach()
endif()

!!ENDIF // isEmpty(CMAKE_INTERNAL_MODULE)


!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
!!ENDIF
Expand All @@ -640,6 +646,5 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}Macros.cmake\")
!!ENDIF

_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\")

_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\")
endif()
4 changes: 2 additions & 2 deletions mkspecs/features/mac/default_post.prf
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ macx-xcode {
-isysroot$$xcodeSDKInfo(Path, $$sdk)
QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
-Xarch_$${arch} \
-Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
-isysroot$$xcodeSDKInfo(Path, $$sdk)

QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
Expand All @@ -222,7 +222,7 @@ macx-xcode {
version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag
QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag
QMAKE_LFLAGS += -Wl,-syslibroot,$$sysroot_path $$version_min_flag
QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag
}

# Enable precompiled headers for multiple architectures
Expand Down
10 changes: 9 additions & 1 deletion mkspecs/features/qt.prf
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,15 @@ contains(all_qt_module_deps, qml): \
for (QMLPATH, QMLPATHS): \
IMPORTPATHS += -importPath $$system_quote($$QMLPATH)

#message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS)
# add qrc files, too
!isEmpty(RESOURCES) {
IMPORTPATHS += -qrcFiles
for (RESOURCE, RESOURCES): \
IMPORTPATHS += $$absolute_path($$system_quote($$RESOURCE), $$_PRO_FILE_PWD_)
}


# message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS)
JSON = $$system($$QMLIMPORTSCANNER $$system_quote($$_PRO_FILE_PWD_) $$IMPORTPATHS)

parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.")
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qt_helper_lib.prf
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ win32|CONFIG(static, static|shared) {
"QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
android {
MODULE_PRI_CONT += "QMAKE_LIBS_$${ucmodule} ="
} else: qtConfig(debug_and_release): {
} else: if(msvc|qtConfig(debug_and_release)): {
win32: \
MODULE_DEBUG_LIBS = $$DESTDIR/$$prefix$${TARGET}d.$$suffix
else: darwin: \
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/wasm/emcc_ver.prf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defineReplace(qtEmccRecommendedVersion) {
return (1.38.27)
return (1.39.8)
}

defineReplace(qtSystemEmccVersion) {
Expand Down
3 changes: 2 additions & 1 deletion mkspecs/features/win32/opengl.prf
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ QT_FOR_CONFIG += gui
defineTest(prependOpenGlLib) {
path = $$QT.core.libs/$$QMAKE_PREFIX_STATICLIB$$1
ext = .$$QMAKE_EXTENSION_STATICLIB
!mingw|qtConfig(debug_and_release): debug_suffix = "d"
QMAKE_LIBS_OPENGL_ES2 = $${path}$${ext} $$QMAKE_LIBS_OPENGL_ES2
QMAKE_LIBS_OPENGL_ES2_DEBUG = $${path}d$${ext} $$QMAKE_LIBS_OPENGL_ES2_DEBUG
QMAKE_LIBS_OPENGL_ES2_DEBUG = $${path}$${debug_suffix}$${ext} $$QMAKE_LIBS_OPENGL_ES2_DEBUG
export(QMAKE_LIBS_OPENGL_ES2)
export(QMAKE_LIBS_OPENGL_ES2_DEBUG)
}
Expand Down
Loading

0 comments on commit 8823bb8

Please sign in to comment.