summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2019-09-20 08:20:47 +0200
committerLiang Qi <liang.qi@qt.io>2019-09-20 08:20:47 +0200
commit73f880d3934650de18def4eee615162d47416674 (patch)
tree07acedd242b334aba49df57a2983c07224b6d385 /src
parent6234286925153279ca259cec04429fa584187b16 (diff)
parent0d9f43d534983411e37a9f3912de272a4a6ced64 (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.pri24
-rw-r--r--src/gui/kernel/qhighdpiscaling.cpp4
-rw-r--r--src/network/kernel/qnetworkproxy.cpp8
-rw-r--r--src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp7
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp6
-rw-r--r--src/widgets/dialogs/qwizard.cpp10
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 {