Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/5.9' into dev
Browse files Browse the repository at this point in the history
Conflicts:
	src/corelib/io/qprocess_unix.cpp
	src/plugins/platforms/xcb/qxcbconnection.cpp
	src/plugins/platforms/xcb/qxcbwindow.cpp
	src/widgets/util/util.pri
	tests/auto/corelib/thread/qthread/qthread.pro
	tests/auto/corelib/thread/qthread/tst_qthread.cpp

Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
  • Loading branch information
liangqi committed Jul 4, 2017
2 parents 10de063 + eaee120 commit c2b224a
Show file tree
Hide file tree
Showing 250 changed files with 1,291 additions and 984 deletions.
23 changes: 14 additions & 9 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ macSDKify()

sdk=$(getSingleQMakeVariable "QMAKE_MAC_SDK" "$1")
if [ -z "$sdk" ]; then echo "QMAKE_MAC_SDK must be set when building on Mac" >&2; exit 1; fi
sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)
sysroot=$(/usr/bin/xcrun --sdk $sdk --show-sdk-path 2>/dev/null)
if [ -z "$sysroot" ]; then echo "Failed to resolve SDK path for '$sdk'" >&2; exit 1; fi

case "$sdk" in
Expand Down Expand Up @@ -322,18 +322,23 @@ fi
if [ "$BUILD_ON_MAC" = "yes" ]; then
if ! /usr/bin/xcode-select --print-path >/dev/null 2>&1; then
echo >&2
echo " No Xcode is selected. Use xcode-select -switch to choose an Xcode" >&2
echo " version. See the xcode-select man page for more information." >&2
echo " No Xcode selected. Please install Xcode via the App Store, " >&2
echo " or the command line developer tools via xcode-select --install, " >&2
echo " and use xcode-select --switch to choose the right installation. " >&2
echo " See the xcode-select man page for more information." >&2
echo >&2
exit 2
fi

if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
echo >&2
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
echo >&2
exit 2
# In the else case we are probably using a Command Line Tools installation
if /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
if ! /usr/bin/xcrun xcodebuild -license check 2>/dev/null; then
echo >&2
echo " Xcode setup not complete. You need to confirm the license" >&2
echo " agreement by running 'sudo xcrun xcodebuild -license accept'." >&2
echo >&2
exit 2
fi
fi
fi

Expand Down
131 changes: 131 additions & 0 deletions dist/changes-5.9.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
Qt 5.9.1 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.

****************************************************************************
* Qt 5.9.1 Changes *
****************************************************************************

Deprecation Notice
------------------

- The following platforms or toolchains are deprecated and will be
removed as of Qt 5.11:
* Microsoft Visual Studio 2013

Important Behavior Changes
--------------------------

- The Q_REQUIRED_RESULT macro now expands to the C++17 attribute
[[nodiscard]] if the compiler supports it. Code using this macro needs
to pay attention to its placement, as C++ function attributes must come
before the declaration, unlike the GCC extension that this macro
previously expanded to.

Binary Compatibility Note
-------------------------

- The variable QOperatingSystemVersion::MacOSHighSierra was added in this
release. Code that uses this variable will not run under Qt 5.9.0. If
backwards compatibility is desired, use instead
QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 13)

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

- Sqlite was updated to version 3.16.2.
- Deleted the src/3rdparty/atspi2 directory.

QtCore
------

- [QTBUG-60558] Fixed a bug that caused QInternal::unregisterCallback to
crash on exit.
- [QTBUG-61034] QT_NO_EXCEPTIONS is now reliably set when using Clang, even
in Objective C++ mode.

- QHash/QMultiHash:
* [QTBUG-60395] Fixed operator== so that two containers compare equal when
there are multiple values with the same key.

- QStorageInfo
* [QTBUG-61096] Fixed a hang on certain systems when retrieving
information from unresponsive filesystems.

- QTimeZone:
* [QTBUG-60595] Fixed sending IANA standard UTC-offset QTimeZones
through QDataStream, which previously came out invalid after
deserialization.

moc
---

- [QTBUG-61204] moc no longer errors out if a C++ keyword is #define'ed

Platform Specific Changes
-------------------------

- macOS / iOS:
* [QTBUG-41978] QCollator now respects the ignorePunctuation property on
Apple based platforms correctly.
* [QTBUG-61205] Fixed the architecture information in QSysInfo.
* QSysInfo and QOperatingSystemVersion now support the newest versions of
Apple's operating systems.
* [QTBUG-61053] Fixed SSL certificate verification on iOS with Secure
Transport back-end.

- Windows:
* [QTBUG-61315] Fixed invalid sorting of custom environment variables set
via QProcessEnvironment when starting subprocesses.

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

configure & build system
------------------------

- [QTBUG-58372] The SQL driver plugins can be built separately again.
Note that it is necessary to configure the whole sqldrivers directory.
- [QTBUG-60925][Unix] Fixed library retrieval from pkg-config. Again.
- [QTBUG-60936] Fixed module version number in Qt modules' cmake config files.
- [QTBUG-61017] Fixed configure hanging upon selecting commercial license.
- [QTBUG-61044] Fixed license checker invocation on 32 bit systems.
- [MinGW] The gold linker is no longer used.

qmake
-----

- [QTBUG-42830][Android] INSTALL targets are no longer created for static
libraries.
- [QTBUG-40825][QTBUG-59457][Unix] Fixed various makespecs to append shared
include and library locations only at the end of the search lists.
- [QTBUG-52383][Windows] midl and rc are now invoked with /NOLOGO.
- [QTBUG-58391][MSVC] MSVC extensions are not disabled any more when
querying the compiler for the predefined macros to pass to moc.
- [QTBUG-59431][VS] Fixed parsing of /utf-8 option. Again.
- [QTBUG-60895][VS] Fixed .vcxproj generation for ActiveQt server projects.
- [QTBUG-60059] qmake will now be more verbose when it fails to run the
compiler while querying the toolchain's properties.
- Various QT_<compiler>_VERSION variables were reverted to refer to the
toolchain Qt was built with. The current toolchain's versions can be
found in the QMAKE_<compiler>_VERSION variables.
- QMAKE_DEFAULT_{INC,LIB}DIRS is now populated also when using clang.
- [MinGW] Re-builds of static library projects will now create a new library
instead of updating the previously built one.
- [VS] Unknown /Zc:XXX options are no longer complained about.
2 changes: 1 addition & 1 deletion examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ void MandelbrotWidget::keyPressEvent(QKeyEvent *event)
}
//! [11]

#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
//! [12]
void MandelbrotWidget::wheelEvent(QWheelEvent *event)
{
Expand Down
2 changes: 1 addition & 1 deletion examples/corelib/threads/mandelbrot/mandelbrotwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ class MandelbrotWidget : public QWidget
void paintEvent(QPaintEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void keyPressEvent(QKeyEvent *event) override;
#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent *event) override;
#endif
void mousePressEvent(QMouseEvent *event) override;
Expand Down
6 changes: 5 additions & 1 deletion examples/widgets/dialogs/dialogs.pro
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
QT_FOR_CONFIG += widgets

TEMPLATE = subdirs
SUBDIRS = classwizard \
configdialog \
Expand All @@ -13,5 +15,7 @@ SUBDIRS = classwizard \
}

!qtHaveModule(printsupport): SUBDIRS -= licensewizard
contains(DEFINES, QT_NO_WIZARD): SUBDIRS -= trivialwizard licensewizard classwizard
!qtConfig(wizard) {
SUBDIRS -= trivialwizard licensewizard classwizard
}
wince: SUBDIRS += sipdialog
2 changes: 1 addition & 1 deletion examples/widgets/graphicsview/chip/view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
#endif
#include <qmath.h>

#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void GraphicsView::wheelEvent(QWheelEvent *e)
{
if (e->modifiers() & Qt::ControlModifier) {
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/graphicsview/chip/view.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class GraphicsView : public QGraphicsView
GraphicsView(View *v) : QGraphicsView(), view(v) { }

protected:
#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent *) override;
#endif

Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ void GraphWidget::timerEvent(QTimerEvent *event)
}
//! [4]

#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
//! [5]
void GraphWidget::wheelEvent(QWheelEvent *event)
{
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/graphicsview/elasticnodes/graphwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public slots:
protected:
void keyPressEvent(QKeyEvent *event) override;
void timerEvent(QTimerEvent *event) override;
#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent *event) override;
#endif
void drawBackground(QPainter *painter, const QRectF &rect) override;
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/painting/affine/xform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ void XFormView::timerEvent(QTimerEvent *e)
}
}

#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void XFormView::wheelEvent(QWheelEvent *e)
{
m_scale += e->delta() / qreal(600);
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/painting/affine/xform.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public slots:

protected:
void timerEvent(QTimerEvent *e) override;
#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent *) override;
#endif

Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/widgets/mousebuttons/buttontester.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ void ButtonTester::mouseDoubleClickEvent(QMouseEvent *e)
this->setText(result);
}

#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void ButtonTester::wheelEvent (QWheelEvent *e)
{
QString result;
Expand Down
2 changes: 1 addition & 1 deletion examples/widgets/widgets/mousebuttons/buttontester.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class ButtonTester : public QTextEdit
void mousePressEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override;
void mouseDoubleClickEvent(QMouseEvent *event) override;
#ifndef QT_NO_WHEELEVENT
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent * event) override;
#endif
int buttonByNumber(const Qt::MouseButton button);
Expand Down
4 changes: 2 additions & 2 deletions examples/widgets/widgets/tablet/tabletcanvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ void TabletCanvas::paintPixmap(QPainter &painter, QTabletEvent *event)
case QTabletEvent::FourDMouse:
{
const QString error(tr("This input device is not supported by the example."));
#ifndef QT_NO_STATUSTIP
#if QT_CONFIG(statustip)
QStatusTipEvent status(error);
QApplication::sendEvent(this, &status);
#else
Expand All @@ -206,7 +206,7 @@ void TabletCanvas::paintPixmap(QPainter &painter, QTabletEvent *event)
default:
{
const QString error(tr("Unknown tablet device - treating as stylus"));
#ifndef QT_NO_STATUSTIP
#if QT_CONFIG(statustip)
QStatusTipEvent status(error);
QApplication::sendEvent(this, &status);
#else
Expand Down
5 changes: 1 addition & 4 deletions mkspecs/features/android/android.prf
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
android_install:contains(INSTALLS, target):!isEmpty(target.path): \
CONFIG -= android_install

contains(TEMPLATE, ".*app") {
!android_app {
!contains(TARGET, ".so"): TARGET = lib$${TARGET}.so
Expand All @@ -11,7 +8,7 @@ contains(TEMPLATE, ".*app") {
INSTALLS *= target
}
}
} else: contains(TEMPLATE, "lib"):!static:android_install {
} else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
target.path = /libs/$$ANDROID_TARGET_ARCH/
INSTALLS *= target
}
3 changes: 2 additions & 1 deletion mkspecs/features/mac/default_post.prf
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ macx-xcode {
}

cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
cache(QMAKE_XCODE_VERSION, stash)
!isEmpty(QMAKE_XCODE_VERSION): \
cache(QMAKE_XCODE_VERSION, stash)

QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
25 changes: 15 additions & 10 deletions mkspecs/features/mac/default_pre.prf
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,23 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
# Make sure Xcode path is valid
!exists($$QMAKE_XCODE_DEVELOPER_PATH): \
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")

# Make sure Xcode is set up properly
isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
}

isEmpty(QMAKE_XCODE_VERSION) {
# Extract Xcode version using xcodebuild
xcode_version = $$system("/usr/bin/xcodebuild -version")
QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
unset(xcode_version)
isEmpty(QMAKE_XCODEBUILD_PATH): \
QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")

!isEmpty(QMAKE_XCODEBUILD_PATH) {
# Make sure Xcode is set up properly
!system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")

isEmpty(QMAKE_XCODE_VERSION) {
# Extract Xcode version using xcodebuild
xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
unset(xcode_version)
}
}

isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
Expand Down
13 changes: 11 additions & 2 deletions mkspecs/features/mac/sdk.prf
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,22 @@ contains(QMAKE_MAC_SDK, .*/.*): \

defineReplace(xcodeSDKInfo) {
info = $$1
equals(info, "Path"): \
info = --show-sdk-path
equals(info, "PlatformPath"): \
info = --show-sdk-platform-path
equals(info, "SDKVersion"): \
info = --show-sdk-version
sdk = $$2
isEmpty(sdk): \
sdk = $$QMAKE_MAC_SDK

isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcodebuild -sdk $$sdk -version $$info 2>/dev/null")
isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}): error("Could not resolve SDK $$info for \'$$sdk\'")
QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null")
# --show-sdk-platform-path won't work for Command Line Tools; this is fine
# only used by the XCTest backend to testlib
isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \
error("Could not resolve SDK $$info for \'$$sdk\'")
cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
}

Expand Down
Loading

0 comments on commit c2b224a

Please sign in to comment.