diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-09-20 08:20:47 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-09-20 08:20:47 +0200 |
commit | 73f880d3934650de18def4eee615162d47416674 (patch) | |
tree | 07acedd242b334aba49df57a2983c07224b6d385 /src | |
parent | 6234286925153279ca259cec04429fa584187b16 (diff) | |
parent | 0d9f43d534983411e37a9f3912de272a4a6ced64 (diff) |
Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
qmake/generators/makefile.cpp
qmake/generators/makefile.h
Change-Id: I4c2deac4f6376c85f5e4fe7fb0ccc9ab9a013cd7
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/configure.pri | 24 | ||||
-rw-r--r-- | src/gui/kernel/qhighdpiscaling.cpp | 4 | ||||
-rw-r--r-- | src/network/kernel/qnetworkproxy.cpp | 8 | ||||
-rw-r--r-- | src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp | 7 | ||||
-rw-r--r-- | src/plugins/platforms/wasm/qwasmscreen.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.cpp | 6 | ||||
-rw-r--r-- | src/widgets/dialogs/qwizard.cpp | 10 |
7 files changed, 40 insertions, 21 deletions
diff --git a/src/gui/configure.pri b/src/gui/configure.pri index 1b95449a10..490ef0df28 100644 --- a/src/gui/configure.pri +++ b/src/gui/configure.pri @@ -1,18 +1,22 @@ # custom tests defineTest(qtConfLibrary_freetype) { - TRY_INCLUDEPATHS = $$EXTRA_INCLUDEPATH $$QMAKE_INCDIR_X11 - haiku: TRY_INCLUDEPATHS += /system/develop/headers - TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIR - for (p, TRY_INCLUDEPATHS) { - includedir = $$p/freetype2 - exists($$includedir) { - $${1}.includedir = $$includedir - export($${1}.includedir) - return(true) + input = $$eval($${2}.alias) + isEmpty(config.input.$${input}.incdir) { + TRY_INCLUDEPATHS = $$EXTRA_INCLUDEPATH $$QMAKE_INCDIR_X11 + haiku: TRY_INCLUDEPATHS += /system/develop/headers + TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIRS + for (p, TRY_INCLUDEPATHS) { + includedir = $$p/freetype2 + exists($$includedir) { + config.input.$${input}.incdir = $$includedir + export(config.input.$${input}.incdir) + break() + } } } - return(true) + qtConfLibrary_inline($$1, $$2): return(true) + return(false) } # Check for Direct X shader compiler 'fxc'. diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index ee54fd4fa1..76548d5d86 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -715,8 +715,10 @@ QHighDpiScaling::ScaleAndOrigin QHighDpiScaling::scaleAndOrigin(const QWindow *w { if (!m_active) return { qreal(1), QPoint() }; + QScreen *screen = window ? window->screen() : QGuiApplication::primaryScreen(); - return scaleAndOrigin(screen, nativePosition); + const bool searchScreen = !window || window->isTopLevel(); + return scaleAndOrigin(screen, searchScreen ? nativePosition : nullptr); } #endif //QT_NO_HIGHDPISCALING diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp index 110550c423..a2a89ed94b 100644 --- a/src/network/kernel/qnetworkproxy.cpp +++ b/src/network/kernel/qnetworkproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtNetwork module of the Qt Toolkit. @@ -493,8 +493,10 @@ template<> void QSharedDataPointer<QNetworkProxyPrivate>::detach() } /*! - Constructs a QNetworkProxy with DefaultProxy type; the proxy type is - determined by applicationProxy(), which defaults to NoProxy. + Constructs a QNetworkProxy with DefaultProxy type. + + The proxy type is determined by applicationProxy(), which defaults to + NoProxy or a system-wide proxy if one is configured. \sa setType(), setApplicationProxy() */ diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp index a6e5c9b5ab..bf044229ff 100644 --- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp +++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Copyright (C) 2016 Jolla Ltd, author: <gunnar.sletta@jollamobile.com> ** Contact: https://www.qt.io/licensing/ ** @@ -77,7 +77,7 @@ Q_LOGGING_CATEGORY(qLcEvdevTouch, "qt.qpa.input") #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ #endif #ifndef ABS_MT_POSITION_X -#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */ +#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */ #endif #ifndef ABS_MT_POSITION_Y #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */ @@ -91,6 +91,9 @@ Q_LOGGING_CATEGORY(qLcEvdevTouch, "qt.qpa.input") #ifndef ABS_MT_TRACKING_ID #define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */ #endif +#ifndef ABS_MT_PRESSURE +#define ABS_MT_PRESSURE 0x3a +#endif #ifndef SYN_MT_REPORT #define SYN_MT_REPORT 2 #endif diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp index f2eabfa486..e536bc0ee3 100644 --- a/src/plugins/platforms/wasm/qwasmscreen.cpp +++ b/src/plugins/platforms/wasm/qwasmscreen.cpp @@ -139,6 +139,8 @@ QPlatformCursor *QWasmScreen::cursor() const void QWasmScreen::resizeMaximizedWindows() { + if (!screen()) + return; QPlatformScreen::resizeMaximizedWindows(); } diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 5539a6903c..ffc8f5ed21 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1937,8 +1937,10 @@ void QWindowsWindow::handleGeometryChange() { const QRect previousGeometry = m_data.geometry; m_data.geometry = geometry_sys(); - if (testFlag(WithinDpiChanged)) - return; // QGuiApplication will send resize + if (testFlag(WithinDpiChanged) + && QWindowsContext::instance()->screenManager().screenForHwnd(m_data.hwnd) != screen()) { + return; // QGuiApplication will send resize when screen actually changes + } QWindowSystemInterface::handleGeometryChange(window(), m_data.geometry); // QTBUG-32121: OpenGL/normal windows (with exception of ANGLE) do not receive // expose events when shrinking, synthesize. diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index 7558054da5..5752e218c2 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -3271,9 +3271,13 @@ bool QWizard::nativeEvent(const QByteArray &eventType, void *message, long *resu MSG *windowsMessage = static_cast<MSG *>(message); const bool winEventResult = d->vistaHelper->handleWinEvent(windowsMessage, result); if (QVistaHelper::vistaState() != d->vistaState) { - d->vistaState = QVistaHelper::vistaState(); - d->vistaStateChanged = true; - setWizardStyle(AeroStyle); + // QTBUG-78300: When Qt::AA_NativeWindows is set, delay further + // window creation until after the platform window creation events. + if (windowsMessage->message == WM_GETICON) { + d->vistaStateChanged = true; + d->vistaState = QVistaHelper::vistaState(); + setWizardStyle(AeroStyle); + } } return winEventResult; } else { |