summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-10-06 19:26:11 +0200
committerLiang Qi <liang.qi@qt.io>2017-10-06 19:27:40 +0200
commit906ce1c52b1d65428222ffd56b7e3c92fdc47db5 (patch)
tree0496d78bbda268b7d59fe9d695e42267cd303cb2
parent7724e4f378f8d97a3b2a3ad6c01e2db057d638aa (diff)
parentec16ba393baf504d4b192cc349775c62d3c96aa0 (diff)
Merge remote-tracking branch 'origin/5.9.2' into 5.9
-rw-r--r--dist/changes-5.9.2259
-rw-r--r--examples/widgets/tools/regularexpression/regularexpressiondialog.cpp12
-rw-r--r--src/gui/painting/qdrawhelper.cpp4
-rw-r--r--src/plugins/printsupport/cups/qcupsprintengine.cpp2
4 files changed, 274 insertions, 3 deletions
diff --git a/dist/changes-5.9.2 b/dist/changes-5.9.2
new file mode 100644
index 0000000000..0ed88849ed
--- /dev/null
+++ b/dist/changes-5.9.2
@@ -0,0 +1,259 @@
+Qt 5.9.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.9.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+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.
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - Building examples inside the Qt source tree while not building Qt itself
+ is rejected now, because this can cause hard to debug configuration
+ issues. If building isolated examples is needed, you may still use shadow
+ builds.
+
+ - This version of Qt restores compatibility with pre-5.9.0 calculation of
+ QCryptographicHash algorithms that were labelled "Sha3_nnn": that is,
+ applications compiled with old versions of Qt will continue using the
+ Keccak algorithm. Applications recompiled with this version will use
+ SHA-3, unless QT_SHA3_KECCAK_COMPAT is #define'd prior to #include
+ <QCryptographicHash>.
+
+****************************************************************************
+* General Notes *
+****************************************************************************
+
+Binary Compatibility Note
+-------------------------
+
+ - The variable QOperatingSystemVersion::AndroidOreo was added in this
+ release. Code that uses this variable will not run under Qt 5.9.1. If
+ backwards compatibility is desired, use instead
+ QOperatingSystemVersion(QOperatingSystemVersion::Android, 8)
+ [This is similar to QOperatingSystemVersion::MacOSHighSierra added in
+ 5.9.1]
+
+ - This version of Qt changes the values assigned to enumerations
+ QCryptographicHash::Sha3_nnn. Applications compiled with this version and
+ using those enumerations will not work with Qt 5.9.0 and 5.9.1, unless
+ QT_SHA3_KECCAK_COMPAT is defined.
+
+Deprecation Notice
+------------------
+
+ - Starting with Qt 5.10, IPv6 support will be mandatory for all platforms.
+ Systems without proper IPv6 support, such as the getaddrinfo() function
+ or the proper socket address structures, will not be able to build
+ QtNetwork anymore.
+
+Third-Party Code
+----------------
+
+ - [QTBUG-31020] zlib was updated to version 1.2.11.
+ - libpng was updated to version 1.6.32
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+
+ - [QTBUG-61350] Fixed the conversion from string to double of the strings
+ "0E+1" and "0E-1" (with capital E), which QString::toDouble(),
+ QByteArray::toDouble() and similar functions reported as invalid.
+
+ - QFile:
+ * [QTBUG-57023] Reverted an incorrect change from Qt 5.9.0 that forbade
+ the creation and access to Alternate Data Streams on NTFS on Windows.
+ This means that file names containing a colon (':') are allowed again,
+ but note that they are not regular files.
+
+ - QFileInfo:
+ * [QTBUG-62802] Relative symbolic links on Windows are now resolved to
+ their absolute path by symLinkTarget().
+
+ - QFileSystemWatcher:
+ * [QTBUG-62242] Fixed a crash on Windows if this class was instantiated
+ before QCoreApplication was created.
+ * [QTBUG-61792] Fixed an issue on Windows that would cause this class not
+ to monitor files properly if the directory containing the monitored
+ files was added to the list of watched paths after the files.
+
+ - QLocale:
+ * [QTBUG-53565] Fixed the conversion of QTime to string form and parsing
+ from string form to always treat the value as the decimal fraction of
+ the seconds component. That is, the string format ".z" produces/parses
+ ".2" for 200 milliseconds and ".002" for 2 milliseconds. Use of "z" or
+ "zzz" is discouraged outside decimal fractions to avoid surprises.
+ * [QTBUG-61949] Fixed bcp57Name() to return "en" for the QLocale::c()
+ locale. Previously, it returned "C", which is not a valid BCP47
+ language tag.
+
+ - QProcess:
+ * [QTBUG-61634] Added a workaround for a rare race-condition bug in
+ some C libraries that caused the child process started by QProcess to
+ hang after trying to launch a non-existent executable or change to a
+ non-existent directory.
+ * [QTBUG-62584] Fixed a race-condition bug that could cause
+ waitForXxx() functions to hang forever if a slot triggered by that
+ function futher started a nested event loop.
+
+ - QTimeZone:
+ * [QTBUG-63205] Fixed a bug that would cause QTimeZone to mis-parse
+ timezone files on Unix systems if they contained leap second
+ information.
+
+ - QVariant:
+ * [QTBUG-61471] Fixed QVariant to actually perform the conversions
+ between QVariantHash and QVariantMap in the respective .toHash() and
+ .toMap() functions. QVariant already reported true in .canConvert()
+ between those two types.
+
+QtDBus
+------
+
+ - [QTBUG-62284] Fixed a race condition in QDBusAbstractInterface that
+ could cause the class to never see the notification that the remote
+ service became available and cause isValid() to change to true.
+
+QtGui
+-----
+
+ - Text:
+ * [QTBUG-61520] Fixed matching of non-regular font weights for
+ application fonts on macOS.
+
+QtNetwork
+---------
+
+ - [QTBUG-61692] Fixed the handling of application-wide proxy settings (set
+ with QNetworkProxy): previously, QTcpSocket would directly fall back to
+ the system settings if the object-specific setting was
+ QNetworkProxy::DefaultProxy.
+
+ - QLocalSocket:
+ * [QTBUG-61643] Fixed an issue with Qt pipe-handling code that could
+ cause deadlocks on Windows, most often if the QLocalSocket object tried
+ to wait for more data during application shutdown.
+
+QtTest
+------
+
+ - Added flowId to messages when logging in TeamCity format. FlowId is used
+ to distinguish logging from multiple processes running in parallel.
+
+QtWidgets
+---------
+
+ - Android:
+ * [QTBUG-48639] Fixed label duplication for buttons when using style
+ sheets with the Android style.
+
+ - QLineEdit:
+ * [QTBUG-60319] Fixed behavior of the ImSurroundingText query.
+ Previously, it returned a masked text whose length may be less than
+ the cursor position. Now it returns unmasked text, so the text length
+ is always greater than or equal to the cursor position.
+
+ - QMenu:
+ * [QTBUG-59794] Fixed menu size issue when using high DPI on
+ multi-screen system.
+
+****************************************************************************
+* Compiler-specific Changes *
+****************************************************************************
+
+clang
+-----
+
+ - [QTBUG-61840][QTBUG-62085] Fixed an issue that caused recent Clang
+ versions to print a warning about [[nodiscard].
+
+Visual Studio
+-------------
+
+ - [QTBUG-61902] Changed Qt uses of certain C++ Standard Library functions
+ that Visual Studio warns about. Now Qt public headers call
+ Microsoft-specific versions that do not produce warnings.
+
+****************************************************************************
+* Platform-specific Changes *
+****************************************************************************
+
+macOS
+-----
+
+ - [QTBUG-59222] Switching focus objects inside a top level window while
+ composing text using dead keys or input method events would leave the
+ application in an inconsistent state. The composition now automatically
+ cancels when the focus object changes.
+
+Windows
+-------
+
+ - [QTBUG-57916] Fixed build with ANGLE and newer MinGW versions.
+ - [QTBUG-62083] Fixed Qt trying to steal certain events from user windows if
+ the event ID was WM_USER.
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+configure & build system
+------------------------
+
+ - [QTBUG-35928][QTBUG-41908][Apple] Qt can now be built using just the
+ Xcode Command Line Tools, without needing to install the full Xcode IDE.
+ - [QTBUG-55755][Windows] All Qt .exe files now include meta information,
+ like .dll files already did.
+ - [QTBUG-58012] (Re-)added a way to specify alternative ICU libraries.
+ - [QTBUG-62150] Fixed detection of ICU in static builds.
+ - [QTBUG-53537][X11] Added missing detection of Xinerama.
+ - [QTBUG-61731][X11] Fixed detection of AT-SPI, allowing accessibility
+ support to be built again.
+ - [X11] Fixed detection of x11-xcb with pkg-config.
+ - [CMake] All Qt module defines are now propagated to the config files.
+
+qmake
+-----
+
+ - [QTBUG-31034] Added qmake feature and configure option to use ccache.
+ - [QTBUG-48342] Fixed generation of extraneous slashes in -project mode.
+ - [QTBUG-55633] Fixed misparsing of some string literal concatenations
+ as C++11 raw strings. This affects dependency scanning.
+ - [QTBUG-59301][Xcode] Fixed duplicate references in project files.
+ - [QTBUG-59827][nmake] The 'clean' target now deletes backup files of
+ MSVC manifests.
+ - [QTBUG-60455][Android] libc++ is now used instead of libstdc++ when
+ building with the android-clang mkspec.
+ - [QTBUG-60430][iOS] Fixed handling of the deprecated variable
+ QMAKE_IOS_TARGETED_DEVICE_FAMILY.
+ - [QTBUG-60899][WinRT] Fixed capability handling for Win10 targets.
+ - [WinRT] Added support for new Win10 capabilities.
+ - [QTBUG-61335][MinGW] Worked around LTO+MRI linker issue when cross-
+ building from Linux.
+ - [QTBUG-61411][Windows] _UNICODE is now defined, consistently with VS.
+ - [QTBUG-61688][MSVC] Fixed compilation of precompiled headers with
+ CONFIG+=silent. Done by removing redundant progress messages.
+ - [QTBUG-61690][QTBUG-61735] Fixed detection of compiler default search
+ paths for various compilers and platforms.
+ - [QTBUG-63197][Windows] Fixed moc'ing in a build directory with spaces
+ when INCLUDEPATH contains 40+ entries.
+ - [Android] Fixed building with ndkr16+ by using unified headers.
+ - [Windows] Fixed repeated installation of read-only files.
+ - [VS] Fixed deployment rules in created solution files.
diff --git a/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp b/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp
index 7fdce3b674..67d0db4bed 100644
--- a/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp
+++ b/examples/widgets/tools/regularexpression/regularexpressiondialog.cpp
@@ -129,6 +129,10 @@ PatternLineEdit::PatternLineEdit(QWidget *parent) :
connect(escapeSelectionAction, &QAction::triggered, this, &PatternLineEdit::escapeSelection);
connect(copyToCodeAction, &QAction::triggered, this, &PatternLineEdit::copyToCode);
connect(pasteFromCodeAction, &QAction::triggered, this, &PatternLineEdit::pasteFromCode);
+#if !QT_CONFIG(clipboard)
+ copyToCodeAction->setEnabled(false);
+ pasteFromCodeAction->setEnabled(false);
+#endif
}
void PatternLineEdit::escapeSelection()
@@ -144,12 +148,16 @@ void PatternLineEdit::escapeSelection()
void PatternLineEdit::copyToCode()
{
+#if QT_CONFIG(clipboard)
QGuiApplication::clipboard()->setText(patternToCode(text()));
+#endif
}
void PatternLineEdit::pasteFromCode()
{
+#if QT_CONFIG(clipboard)
setText(codeToPattern(QGuiApplication::clipboard()->text()));
+#endif
}
void PatternLineEdit::contextMenuEvent(QContextMenuEvent *event)
@@ -316,7 +324,7 @@ void RegularExpressionDialog::refresh()
void RegularExpressionDialog::copyEscapedPatternToClipboard()
{
-#ifndef QT_NO_CLIPBOARD
+#if QT_CONFIG(clipboard)
QClipboard *clipboard = QGuiApplication::clipboard();
if (clipboard)
clipboard->setText(escapedPatternLineEdit->text());
@@ -361,7 +369,7 @@ QWidget *RegularExpressionDialog::setupLeftUi()
palette.setBrush(QPalette::Base, palette.brush(QPalette::Disabled, QPalette::Base));
escapedPatternLineEdit->setPalette(palette);
-#ifndef QT_NO_CLIPBOARD
+#if QT_CONFIG(clipboard)
QAction *copyEscapedPatternAction = new QAction(this);
copyEscapedPatternAction->setText(tr("Copy to clipboard"));
copyEscapedPatternAction->setIcon(QIcon(QStringLiteral(":/images/copy.png")));
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index c78fdfe62e..6c25710271 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -5627,6 +5627,8 @@ static void qt_alphamapblit_generic(QRasterBuffer *rasterBuffer,
int start = qMax<int>(x, clip.x);
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
+ if (end <= start)
+ continue;
Q_ASSERT(end - start <= buffer_size);
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
@@ -5900,6 +5902,8 @@ static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer,
int start = qMax<int>(x, clip.x);
int end = qMin<int>(x + mapWidth, clip.x + clip.len);
+ if (end <= start)
+ continue;
Q_ASSERT(end - start <= buffer_size);
QRgba64 *dest = destFetch64((QRgba64*)buffer, rasterBuffer, start, clip.y, end - start);
diff --git a/src/plugins/printsupport/cups/qcupsprintengine.cpp b/src/plugins/printsupport/cups/qcupsprintengine.cpp
index e7949d3a0b..6a4eecb06d 100644
--- a/src/plugins/printsupport/cups/qcupsprintengine.cpp
+++ b/src/plugins/printsupport/cups/qcupsprintengine.cpp
@@ -293,7 +293,7 @@ void QCupsPrintEnginePrivate::changePrinter(const QString &newPrinter)
// Try create the printer, only use it if it returns valid
QPrintDevice printDevice = ps->createPrintDevice(newPrinter);
- if (!m_printDevice.isValid())
+ if (!printDevice.isValid())
return;
m_printDevice.swap(printDevice);
printerName = m_printDevice.id();