Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/5.12' into dev
Browse files Browse the repository at this point in the history
 Conflicts:
	src/android/templates/AndroidManifest.xml
	tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp

Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
  • Loading branch information
liangqi committed Jan 26, 2019
2 parents e81acde + 730cbad commit 980567b
Show file tree
Hide file tree
Showing 128 changed files with 104,797 additions and 1,049 deletions.
167 changes: 167 additions & 0 deletions dist/changes-5.12.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
Qt 5.12.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.12.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.12 series is binary compatible with the 5.11.x series.
Applications compiled for 5.11 will continue to run with 5.12.

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 *
****************************************************************************

- qmake / WinRT:
* Cross-builds will now ignore pre-set values of %INCLUDE% and %LIB%
when building target executables. If necessary, use configure's -I and
-L switches when building Qt, and pass QMAKE_INCDIR and QMAKE_LIBDIR
on qmake's command line when building own projects.

****************************************************************************
* Documentation *
****************************************************************************

- Fixed the icons for the "file save" action that were inaccurate
representations of a 3.5-inch floppy disk (the cut edge was on the wrong
side). Now all floppy representations are physically accurate.

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

- [QTBUG-71256] QString, QByteArray and QLocale's toDouble return an infinity
on overflow (since 5.7), while setting ok to false; this was at odds with
their documented behavior of returning 0 on failure. The documentation now
reflects the actual behavior.
- [QTBUG-71868] QString, QByteArray and QLocale's toFloat returned an
infinity on double-overflow (since 5.7) but returned 0 on a finite double
outside float's range, while setting ok to false; this was at odds with
their documented behavior of returning 0 on any failure. They also
succeeded, returning zero, on underflow of float's range, unless double
underflowed, where they failed. Changed the handling of values outside
float's range to match that of values outside double's range: fail,
returning an infinity on overflow or zero on underflow. The documentation
now reflects the revised behavior, which matches toDouble().

- QCborStreamReader:
* [QTBUG-71426] Made setDevice() clear the last error.

- QCollator:
* [QTBUG-58621] Added support for collation in the C locale, albeit this is
only well-defined for ASCII. Collation sort keys remain unsupported on
Darwin.

- QContiguousCache:
* [QTBUG-52125] Fixed a memory leak.

- QObject:
* [QTBUG-32340] Fixed a bug that caused isSignalConnected() to return
true if the signal was connected and later disconnected.
* [QTBUG-71550] Fixed a bug that caused isSignalConnected() not to
report signals that were connected by the QML engine.

- QPluginLoader:
* [QTBUG-71443] Fixed the parsing of ELF headers (Linux, FreeBSD, Solaris,
etc.), which could cause certain valid plugins to not be deteced as
valid.

- QRegularExpression:
* [QTBUG-72539] The wildcardToRegularExpression method now returns a
properly anchored pattern.

- QSettings:
* [QTBUG-72007] Fixed QSettings parsing of blank spaces after comment lines
in INI-style configuration files.

- QStringListModel:
* setData will now emit the dataChanged() signal only if the string set
is different from the one already contained in the model

- QSysInfo:
* [QTBUG-72489] Now returns "Mojave" in prettyProductName() for macOS
10.14.

- QUrl:
* [QTBUG-71973] Changed the normalization done by
QUrl::NormalizePathSegments) to match what web browsers do for non-local
URLs.

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

- Text:
* Fixed a bug where eliding text could change the height of its bounding
rectangle for certain fonts.
* Improved appearance of monochrome text on some platforms.
* Fixed so ShowTabsAndSpaces will use the correct font.

****************************************************************************
* QtSql *
****************************************************************************

- PostgreSQL:
* Added support for PostgreSQL 11

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

- Reverted a Qt 5.12.0 behavior change in QToolTip that made plain tooltip
text be wrapped automatically.
- [QTBUG-72844] Fixed a regression related to accepting a Drag'n'Drop event.
- [QTBUG-27110] Reverted a change that caused a regression related to
styling a QListView using CSS.

- QWidgetLineControl/security:
* Zero-out the string that contains a password entered into the
QLineEdit
* Preallocate a buffer for the string that contains the entered value
when the QLineEdit serves as a password input field to minimize
reallocations.

****************************************************************************
* Platform Specific Changes *
****************************************************************************

- Android:
* QClipboard now supports HTML and URI data.

- Windows:
* Reduced the number of font engines that are created when loading new
fonts, fixing crashes in some special cases where a large number of
fonts are created during a short period of time.

- X11:
* [QTBUG-71296] Fixed a bug with open/close hand cursors not being shown
correctly.
* [QTBUG-46626][QTBUG-70756] Fixed a bug with dialogs hidden by other
windows in certain use cases.

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

- [QTBUG-65503] Removed xkbcommon from bundled sources. This library is
present on all supported platforms. The minimal required version now is
0.5.0.
- Updated bundled SQLite to version 3.26.0.

****************************************************************************
* Tools *
****************************************************************************

- moc now parses enum struct the same way as enum class therefore that
keyword can be used with the Q_ENUM macro as well as Q_FLAG and
Q_DECLARE_FLAGS.

2 changes: 1 addition & 1 deletion doc/global/config.qdocconf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
dita.metadata.default.author = Qt Project
dita.metadata.default.permissions = all
dita.metadata.default.publisher = Qt Project
dita.metadata.default.copyryear = 2018
dita.metadata.default.copyryear = 2019
dita.metadata.default.copyrholder = The Qt Company Ltd
dita.metadata.default.audience = programmer

Expand Down
2 changes: 1 addition & 1 deletion doc/global/html-footer-online.qdocconf
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ HTML.footer += \
" <ul id=\"menu-footer-submenu\" class=\"right clearfix\"><li id=\"menu-item-1795\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1795\"><a title=\"Sign into your account.\" href=\"https://account.qt.io/login\">Sign In</a></li>\n" \
" <li id=\"menu-item-10375\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-10375\"><a href=\"mailto:[email protected]?Subject=Feedback%20about%20doc.qt.io%20site\">Feedback</a></li>\n" \
" <li id=\"menu-item-1494\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1494\"><a href=\"http://qt.io/contact-us/\">Contact us</a></li>\n" \
" <li id=\"menu-item-4472\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-4472\"><a href=\"http://qt.io/about-us/\">© 2018 The Qt Company</a></li>\n" \
" <li id=\"menu-item-4472\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-4472\"><a href=\"http://qt.io/about-us/\">© 2019 The Qt Company</a></li>\n" \
" </ul>\n" \
"</div>\n" \
"</div>\n" \
Expand Down
2 changes: 1 addition & 1 deletion doc/global/html-footer.qdocconf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ HTML.footer = \
"</div>\n" \
"<div class=\"footer\">\n" \
" <p>\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2018 The Qt Company Ltd.\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2019 The Qt Company Ltd.\n" \
" Documentation contributions included herein are the copyrights of\n" \
" their respective owners.<br/>" \
" The documentation provided herein is licensed under the terms of the" \
Expand Down
2 changes: 1 addition & 1 deletion doc/global/qt-module-defaults-online.qdocconf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
HTML.footer = \
" </div>\n" \
" <p class=\"copy-notice\">\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2018 The Qt Company Ltd.\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2019 The Qt Company Ltd.\n" \
" Documentation contributions included herein are the copyrights of\n" \
" their respective owners. " \
" The documentation provided herein is licensed under the terms of the" \
Expand Down
13 changes: 8 additions & 5 deletions examples/opengl/contextinfo/renderwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,13 @@ void RenderWindow::setupVertexAttribs()
m_vbo.release();
}

bool RenderWindow::event(QEvent *ev)
{
if (ev->type() == QEvent::UpdateRequest)
render();
return QWindow::event(ev);
}

void RenderWindow::render()
{
if (!m_context->makeCurrent(this)) {
Expand Down Expand Up @@ -227,9 +234,5 @@ void RenderWindow::render()

m_angle += 1.0f;

// Instead of 0 wait a few more milliseconds before rendering again. This is
// only here to make the UI widgets more responsive on slower machines. We
// can afford it since our rendering is so lightweight.
const int interval = 5;
QTimer::singleShot(interval, this, &RenderWindow::render);
requestUpdate();
}
3 changes: 3 additions & 0 deletions examples/opengl/contextinfo/renderwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ class RenderWindow : public QWindow
void ready();
void error(const QString &msg);

protected:
bool event(QEvent *ev) override;

private slots:
void render();

Expand Down
13 changes: 10 additions & 3 deletions examples/opengl/hellowindow/hellowindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,15 @@ void HelloWindow::exposeEvent(QExposeEvent *)
m_renderer->render();
}

bool HelloWindow::event(QEvent *ev)
{
if (ev->type() == QEvent::UpdateRequest) {
m_renderer->render();
requestUpdate();
}
return QWindow::event(ev);
}

void HelloWindow::mousePressEvent(QMouseEvent *)
{
updateColor();
Expand Down Expand Up @@ -132,7 +141,7 @@ void Renderer::setAnimating(HelloWindow *window, bool animating)
if (animating) {
m_windows << window;
if (m_windows.size() == 1)
QTimer::singleShot(0, this, &Renderer::render);
window->requestUpdate();
} else {
m_currentWindow = 0;
m_windows.removeOne(window);
Expand Down Expand Up @@ -196,8 +205,6 @@ void Renderer::render()
m_context->swapBuffers(surface);

m_fAngle += 1.0f;

QTimer::singleShot(0, this, &Renderer::render);
}

Q_GLOBAL_STATIC(QMutex, initMutex)
Expand Down
5 changes: 3 additions & 2 deletions examples/opengl/hellowindow/hellowindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,12 @@ class HelloWindow : public QWindow
QColor color() const;
void updateColor();

protected:
bool event(QEvent *ev) override;
void exposeEvent(QExposeEvent *event) override;

private:
void mousePressEvent(QMouseEvent *) override;

private:
int m_colorIndex;
QColor m_color;
const QSharedPointer<Renderer> m_renderer;
Expand Down
1 change: 1 addition & 0 deletions mkspecs/common/mac.conf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ include(unix.conf)

QMAKE_RESOURCE = /Developer/Tools/Rez
QMAKE_EXTENSION_SHLIB = dylib
QMAKE_EXTENSIONS_AUX_SHLIB = tbd
QMAKE_LIBDIR =

# sdk.prf will prefix the proper SDK sysroot
Expand Down
5 changes: 4 additions & 1 deletion mkspecs/features/qt_configure.prf
Original file line number Diff line number Diff line change
Expand Up @@ -531,8 +531,11 @@ defineTest(qtConfResolveLibs) {
unix {
# Under UNIX, we look for actual shared libraries, in addition
# to static ones.
shexts = $$QMAKE_EXTENSION_SHLIB $$QMAKE_EXTENSIONS_AUX_SHLIB
for (ext, shexts) {
lcan += $${QMAKE_PREFIX_SHLIB}$${lib}.$${ext}
}
lcan += \
$${QMAKE_PREFIX_SHLIB}$${lib}.$${QMAKE_EXTENSION_SHLIB} \
$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
} else {
# Under Windows, we look only for static libraries, as even for DLLs
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qt_targets.prf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
QMAKE_TARGET_COMPANY = The Qt Company Ltd.
isEmpty(QMAKE_TARGET_PRODUCT): QMAKE_TARGET_PRODUCT = Qt5
isEmpty(QMAKE_TARGET_DESCRIPTION): QMAKE_TARGET_DESCRIPTION = C++ Application Development Framework
QMAKE_TARGET_COPYRIGHT = Copyright (C) 2018 The Qt Company Ltd.
QMAKE_TARGET_COPYRIGHT = Copyright (C) 2019 The Qt Company Ltd.
1 change: 0 additions & 1 deletion mkspecs/features/win32/windeployqt.prf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ build_pass {
windeployqt.commands = $$QMAKE_WINDEPLOYQT $$WINDEPLOYQT_OPTIONS -list target $$WINDEPLOYQT_TARGET > $$WINDEPLOYQT_OUTPUT

windeployqt_clean.commands = if exist $$WINDEPLOYQT_OUTPUT for /f %i in ($$WINDEPLOYQT_OUTPUT) do $$QMAKE_DEL_FILE %~fi && $$QMAKE_DEL_DIR %~pi
QMAKE_EXTRA_TARGETS += windeployqt_clean
DISTCLEAN_DEPS += windeployqt_clean
QMAKE_DISTCLEAN += $$WINDEPLOYQT_OUTPUT
} else {
Expand Down
1 change: 0 additions & 1 deletion mkspecs/wasm-emscripten/qmake.conf
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ EMCC_COMMON_LFLAGS = \
-s NO_EXIT_RUNTIME=0 \
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
--bind \
-s \"BINARYEN_METHOD=\'native-wasm\'\" \
-s \"BINARYEN_TRAP_MODE=\'clamp\'\"

# The -s arguments can also be used with release builds,
Expand Down
19 changes: 19 additions & 0 deletions mkspecs/winrt-arm64-msvc2017/qmake.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#
# qmake configuration for winrt-arm64-msvc2017
#
# Written for Microsoft Visual C++ 2017
#

include(../common/winrt_winphone/qmake.conf)
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 arm64 __arm64__ __arm64__

QMAKE_CFLAGS += -FS
QMAKE_CXXFLAGS += -FS
QMAKE_LFLAGS += /MACHINE:arm64 /NODEFAULTLIB:kernel32.lib

QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib OneCore.lib

VCPROJ_ARCH = arm64
WINSDK_VER = 10.0
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in
WINRT_MANIFEST.architecture = arm64
40 changes: 40 additions & 0 deletions mkspecs/winrt-arm64-msvc2017/qplatformdefs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or (at your option) the GNU General
** Public license version 3 or any later version approved by the KDE Free
** Qt Foundation. The licenses are as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#include "../common/winrt_winphone/qplatformdefs.h"
Loading

0 comments on commit 980567b

Please sign in to comment.