Commit b833dd0c authored by Dmitry Kazakov's avatar Dmitry Kazakov

Update Qt to 5.12.5 on Windows and Linux

0050-Fix-using-tablet-on-QML-widgets.patch is now broken, we need to
fix the bug again.
parent 3e21da98
From 6644f33d9c9be580f3277792e304d20c4b973cdd Mon Sep 17 00:00:00 2001
From bfa5d9ad432d3be6529d4c0d6fd79aecf8a8bdfa Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Wed, 19 Jun 2019 15:04:31 +0300
Subject: [PATCH 01/17] Use fast path for unsupported mime types
Subject: [PATCH 01/19] Use fast path for unsupported mime types
We don't need to request the entire image every time
Windows asks for the list of supported MIME types. That
......
From 835bb62519cc53976b8341c0d83a660674f66a92 Mon Sep 17 00:00:00 2001
From e396f2274a8db88f9bb74a7bec95de76b63f1b33 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Tue, 21 Jun 2016 14:50:47 +0300
Subject: [PATCH 02/17] Hack: always return we support DIBV5
Subject: [PATCH 02/19] Hack: always return we support DIBV5
Asking for the entire image may be too expensive
......
From 721279a37e70459798928babacc2ccc8bf4fca3a Mon Sep 17 00:00:00 2001
From 9934be5bc72e3fd1c9094ce54df5ae522d6dad4f Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Sat, 8 Dec 2018 15:35:43 +0300
Subject: [PATCH 03/17] Implement openGL surface color space selection in Angle
Subject: [PATCH 11/19] Implement openGL surface color space selection in Angle
WARNING: this patch actually means that the library must be build on
the system with at least DXGI 1.4 (DirectX 12 API) present
......@@ -294,7 +294,7 @@ index a8c24e681b..3516bf779d 100644
IUnknown *d3dTexture,
EGLint *width,
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
index dcfd06484d..fc967b90d0 100644
index e8f13b388f..e59114bb88 100644
--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
@@ -18,6 +18,11 @@
......@@ -325,7 +325,7 @@ index dcfd06484d..fc967b90d0 100644
mAppCreatedShareHandle(mShareHandle != nullptr),
mSwapInterval(0),
mPassThroughResourcesInit(false),
@@ -620,10 +627,92 @@ EGLint SwapChain11::reset(const gl::Context *context,
@@ -624,10 +631,92 @@ EGLint SwapChain11::reset(const gl::Context *context,
mSwapChain1 = d3d11::DynamicCastComObject<IDXGISwapChain1>(mSwapChain);
}
......
From 806fae9657a13559332796ade9cf1b302d014e46 Mon Sep 17 00:00:00 2001
From 32171690fab4ae1eb80b50d31f97cde5f1250cc9 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Wed, 13 Feb 2019 16:56:11 +0300
Subject: [PATCH 04/17] Implement color space selection for QSurfaceFormat
Subject: [PATCH 12/19] Implement color space selection for QSurfaceFormat
With the patch one can select color space of openGL surface
which is used a a root surface of the underlying native window.
......@@ -43,7 +43,7 @@ Change-Id: I5f4945db9798d542f19c8ff1af1effa34f7745fd
7 files changed, 83 insertions(+), 12 deletions(-)
diff --git a/src/gui/kernel/qsurfaceformat.cpp b/src/gui/kernel/qsurfaceformat.cpp
index 1a814ec21f..fc8b9c4f43 100644
index 4e2bcad50f..d8e4c62ddc 100644
--- a/src/gui/kernel/qsurfaceformat.cpp
+++ b/src/gui/kernel/qsurfaceformat.cpp
@@ -221,6 +221,17 @@ public:
......@@ -252,10 +252,10 @@ index cc6d93d35e..61c0e28767 100644
protected:
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 3bf424d0ac..7597fcb64d 100644
index 7d511bf0d7..716e461436 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -2874,9 +2874,13 @@ void *QWindowsWindow::surface(void *nativeConfig, int *err)
@@ -2875,9 +2875,13 @@ void *QWindowsWindow::surface(void *nativeConfig, int *err)
return 0;
#endif
#ifndef QT_NO_OPENGL
......
From d9e2e0e62952dfcae6922307555e08ef5bce0c84 Mon Sep 17 00:00:00 2001
From e3d75d2db98224337c40b4fdc94d443693f57e15 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Thu, 22 Nov 2018 15:47:48 +0300
Subject: [PATCH 05/17] Implement color conversion for the backing store
Subject: [PATCH 13/19] Implement color conversion for the backing store
texture
If the window surface is not in sRGB mode, then the backing store
......@@ -36,7 +36,7 @@ Change-Id: Icbf599952c93cc04de417d0c3790a65282741655
9 files changed, 281 insertions(+), 26 deletions(-)
diff --git a/src/gui/opengl/qopengltextureblitter.cpp b/src/gui/opengl/qopengltextureblitter.cpp
index b65df9dc82..5f6dbff292 100644
index b709f2f639..8b9142a0ef 100644
--- a/src/gui/opengl/qopengltextureblitter.cpp
+++ b/src/gui/opengl/qopengltextureblitter.cpp
@@ -131,14 +131,85 @@ static const char vertex_shader[] =
......@@ -277,7 +277,7 @@ index b65df9dc82..5f6dbff292 100644
if (origin == QOpenGLTextureBlitter::OriginTopLeft) {
if (program->textureMatrixUniformState != IdentityFlipped) {
QMatrix3x3 flipped;
@@ -408,6 +540,28 @@ bool QOpenGLTextureBlitter::create()
@@ -411,6 +543,28 @@ bool QOpenGLTextureBlitter::create()
} else {
if (!d->buildProgram(QOpenGLTextureBlitterPrivate::TEXTURE_2D, vertex_shader, fragment_shader))
return false;
......@@ -306,7 +306,7 @@ index b65df9dc82..5f6dbff292 100644
if (supportsExternalOESTarget())
if (!d->buildProgram(QOpenGLTextureBlitterPrivate::TEXTURE_EXTERNAL_OES, vertex_shader, fragment_shader_external_oes))
return false;
@@ -455,6 +609,8 @@ void QOpenGLTextureBlitter::destroy()
@@ -458,6 +612,8 @@ void QOpenGLTextureBlitter::destroy()
return;
Q_D(QOpenGLTextureBlitter);
d->programs[QOpenGLTextureBlitterPrivate::TEXTURE_2D].glProgram.reset();
......@@ -315,7 +315,7 @@ index b65df9dc82..5f6dbff292 100644
d->programs[QOpenGLTextureBlitterPrivate::TEXTURE_EXTERNAL_OES].glProgram.reset();
d->vertexBuffer.destroy();
d->textureBuffer.destroy();
@@ -484,15 +640,26 @@ bool QOpenGLTextureBlitter::supportsExternalOESTarget() const
@@ -487,15 +643,26 @@ bool QOpenGLTextureBlitter::supportsExternalOESTarget() const
\sa release(), blit()
*/
......@@ -344,7 +344,7 @@ index b65df9dc82..5f6dbff292 100644
p->glProgram->bind();
d->vertexBuffer.bind();
@@ -506,6 +673,21 @@ void QOpenGLTextureBlitter::bind(GLenum target)
@@ -509,6 +676,21 @@ void QOpenGLTextureBlitter::bind(GLenum target)
d->textureBuffer.release();
}
......@@ -366,7 +366,7 @@ index b65df9dc82..5f6dbff292 100644
/*!
Unbinds the graphics resources used by the blitter.
@@ -514,7 +696,7 @@ void QOpenGLTextureBlitter::bind(GLenum target)
@@ -517,7 +699,7 @@ void QOpenGLTextureBlitter::bind(GLenum target)
void QOpenGLTextureBlitter::release()
{
Q_D(QOpenGLTextureBlitter);
......@@ -598,10 +598,10 @@ index 9eb4a9ba5a..eff2d9796d 100644
void makeCurrent();
diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h
index ae50624c04..67c43ca7a4 100644
index 142d5ef9bb..e541cb70e4 100644
--- a/src/widgets/kernel/qwidget_p.h
+++ b/src/widgets/kernel/qwidget_p.h
@@ -655,6 +655,7 @@ public:
@@ -657,6 +657,7 @@ public:
? QPlatformTextureList::StacksOnTop
: QPlatformTextureList::Flags(0);
}
......@@ -610,10 +610,10 @@ index ae50624c04..67c43ca7a4 100644
virtual void beginBackingStorePainting() { }
virtual void endBackingStorePainting() { }
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
index a32eb2a03b..db60338034 100644
index 24b8665013..0603137b8e 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
@@ -1007,7 +1007,7 @@ static void findTextureWidgetsRecursively(QWidget *tlw, QWidget *widget, QPlatfo
@@ -1012,7 +1012,7 @@ static void findTextureWidgetsRecursively(QWidget *tlw, QWidget *widget, QPlatfo
if (wd->renderToTexture) {
QPlatformTextureList::Flags flags = wd->textureListFlags();
const QRect rect(widget->mapTo(tlw, QPoint()), widget->size());
......
From a1131ad9ab08c86eb32ca3f294690a698470bda1 Mon Sep 17 00:00:00 2001
From ca3018536c7625f76969fe0031e35ead039071ae Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Tue, 4 Dec 2018 20:11:34 +0300
Subject: [PATCH 06/17] Return QScreen's HMONITOR handle via
Subject: [PATCH 14/19] Return QScreen's HMONITOR handle via
QPlatformNativeInterface
It is needed to be able to fetch extra information about the display via
......@@ -62,10 +62,10 @@ index e6f8aae8fb..ce395dc5a4 100644
void *nativeResourceForCursor(const QByteArray &resource, const QCursor &cursor) override;
#endif
diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp
index b28a113ce6..2f8850cbe0 100644
index 4137a4bd9a..bc37263298 100644
--- a/src/plugins/platforms/windows/qwindowsscreen.cpp
+++ b/src/plugins/platforms/windows/qwindowsscreen.cpp
@@ -323,6 +323,11 @@ void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
@@ -328,6 +328,11 @@ void QWindowsScreen::handleChanges(const QWindowsScreenData &newData)
}
}
......
From fc02647fc01c20f3bfcc53f38a060328b9e2ab90 Mon Sep 17 00:00:00 2001
From 610afce97df539c7ceb61f35e15f815e2c1c6996 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Sun, 10 Feb 2019 22:55:59 +0300
Subject: [PATCH 07/17] Implement a manual test for checking is HDR features
Subject: [PATCH 15/19] Implement a manual test for checking is HDR features
work
Test plan:
......
From d06dc5de61c3574dd97c5aaae07561d8fc29c604 Mon Sep 17 00:00:00 2001
From fc3645ac36979772878e9d3380224d870bfb80c5 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Thu, 6 Dec 2018 16:16:27 +0300
Subject: [PATCH 08/17] Fix notification of QDockWidget when it gets undocked
Subject: [PATCH 16/19] Fix notification of QDockWidget when it gets undocked
Before the patch the notification was emitted only when the docker
was attached to the panel or changed a position on it.
......
From 0ae8de8731d39fd1e736c7d9012f87184299956e Mon Sep 17 00:00:00 2001
From 79689ebfb428571845dc4deed73ecae3f1fc4781 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Mon, 11 Mar 2019 13:18:06 +0300
Subject: [PATCH 1/2] Synthesize Enter/LeaveEvent for accepted QTabletEvent
......
From 82c789f75fc634ccbe5f1aad6d41895a6e6da17d Mon Sep 17 00:00:00 2001
From 22c69acd5168dff36197b11edfc3fc0735253b91 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Mon, 11 Mar 2019 16:17:17 +0300
Subject: [PATCH 2/2] Poison Qt's headers with a mark about presence of
......
From 89b0f14299deac2ad0802f3addfbf487ba680720 Mon Sep 17 00:00:00 2001
From 0055c47e0f4525ac39565c7ba2eb6a2e62ac6aad Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Mon, 11 Mar 2019 13:18:06 +0300
Subject: [PATCH 09/17] Synthesize Enter/LeaveEvent for accepted QTabletEvent
Subject: [PATCH 03/19] Synthesize Enter/LeaveEvent for accepted QTabletEvent
When the tablet event is accepted, then Qt doesn't synthesize a mouse
event, it means that QApplicationPrivate::sendMouseEvent() will not be
......
From d95b6e9a4029a46acbe5df4b068de8a646887430 Mon Sep 17 00:00:00 2001
From 4ba47aed42464e1c39d6f10282f0ebd166abcd1c Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Wed, 3 Apr 2019 18:37:56 +0300
Subject: [PATCH 10/17] Implement a switch for tablet API on Windows
Subject: [PATCH 04/19] Implement a switch for tablet API on Windows
Qt has support for two tablet APIs: WinTab and Windows Pointer API.
The former one is used in professional graphical tablet devices,
......
From 8485c169f76c074256616a55308c1a57174ae064 Mon Sep 17 00:00:00 2001
From 0cfc9a41986397db4b09afed1785d296f8956ce6 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Sat, 13 Apr 2019 18:08:33 +0300
Subject: [PATCH 11/17] Fetch stylus button remapping from WinTab driver
Subject: [PATCH 05/19] Fetch stylus button remapping from WinTab driver
The user can remap the stylus buttons using tablet driver settings.
This information is available to the application via CSR_SYSBTNMAP
......
From c5ee9030553cc37d92391b6f60e978eb27b15768 Mon Sep 17 00:00:00 2001
From 2b7638032c20b8534c27778d0f2ca46ffbb3fedc Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Sat, 13 Apr 2019 20:29:14 +0300
Subject: [PATCH 12/17] Disable tablet relative mode in Qt
Subject: [PATCH 06/19] Disable tablet relative mode in Qt
---
src/plugins/platforms/windows/qwindowstabletsupport.cpp | 5 +++++
......
From 71466f90b0b554987a60e5c797d38d6c28f8ebef Mon Sep 17 00:00:00 2001
From e0556c3526f9f082758a57426d94796992904320 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Sat, 13 Apr 2019 23:24:01 +0300
Subject: [PATCH 13/17] Fetch mapped screen size from the Wintab driver
Subject: [PATCH 07/19] Fetch mapped screen size from the Wintab driver
Some devices, like Microsoft Surface Pro 5, don't map tablet's
input range to the entire virtual screen area, but map it to
......
From dd25106c340d91d20432375a2a22b85779eddb18 Mon Sep 17 00:00:00 2001
From 070eb69f2c8812bc62b50196117b6cd2a8d2f3de Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Wed, 17 Apr 2019 17:39:10 +0300
Subject: [PATCH 14/17] Switch stylus pointer type when the tablet is in the
Subject: [PATCH 08/19] Switch stylus pointer type when the tablet is in the
tablet proximity
Some convertible tablet devices have a special stylus button that
......
From f83799913665e06e98c743326eafd47d78087477 Mon Sep 17 00:00:00 2001
From e4579424942fdaf1f9877d36dda2e6b9f1796b03 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Thu, 18 Apr 2019 15:42:17 +0300
Subject: [PATCH 15/17] Fix updating tablet pressure resolution on every
Subject: [PATCH 09/19] Fix updating tablet pressure resolution on every
proximity enter event
The user can switch pressure sensitivity level in the driver,
......
From c37ff0abfed81284721ec00665579b73107a38ca Mon Sep 17 00:00:00 2001
From 89a69b6c61df0bd758ffff258b456f21bf7a03cb Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Wed, 15 May 2019 19:54:52 +0300
Subject: [PATCH 3/3] Add workaround for handling table press correctly in
Subject: [PATCH 10/19] Add workaround for handling table press correctly in
WinInk mode
Original problem: widgets do not get synthesized mouse-down and
......@@ -41,7 +41,7 @@ See bug: https://bugs.kde.org/show_bug.cgi?id=406668
4 files changed, 99 insertions(+), 18 deletions(-)
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index a67214bd9a..d431f37d35 100644
index 5014878bd2..d97ef36ece 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -2537,6 +2537,7 @@ void QGuiApplicationPrivate::processTabletEvent(QWindowSystemInterfacePrivate::T
......@@ -141,10 +141,10 @@ index bf98c33a1a..fdc5a2fb50 100644
qreal tangentialPressure, qreal rotation, int z, qint64 uid,
Qt::KeyboardModifiers modifiers = Qt::NoModifier);
diff --git a/src/plugins/platforms/windows/qwindowspointerhandler.cpp b/src/plugins/platforms/windows/qwindowspointerhandler.cpp
index bf201b87e0..60112f7610 100644
index 71a09304c5..07a5722de9 100644
--- a/src/plugins/platforms/windows/qwindowspointerhandler.cpp
+++ b/src/plugins/platforms/windows/qwindowspointerhandler.cpp
@@ -541,6 +541,58 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd,
@@ -543,6 +543,58 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd,
return false; // Allow mouse messages to be generated.
}
......@@ -203,7 +203,7 @@ index bf201b87e0..60112f7610 100644
bool QWindowsPointerHandler::translatePenEvent(QWindow *window, HWND hwnd, QtWindows::WindowsEventType et,
MSG msg, PVOID vPenInfo)
{
@@ -631,10 +683,38 @@ bool QWindowsPointerHandler::translatePenEvent(QWindow *window, HWND hwnd, QtWin
@@ -633,10 +685,38 @@ bool QWindowsPointerHandler::translatePenEvent(QWindow *window, HWND hwnd, QtWin
}
const Qt::KeyboardModifiers keyModifiers = QWindowsKeyMapper::queryKeyboardModifiers();
......
From 16a8ff15243a9875fa509f10d1cd9d01df9d4c6d Mon Sep 17 00:00:00 2001
From 28f0a9f55d129aa33ee2399a4b2dc0a6a9999542 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
Date: Wed, 21 Nov 2018 09:06:50 +0100
Subject: [PATCH 16/17] Windows: Add a default setting for
Subject: [PATCH 17/19] Windows: Add a default setting for
hasBorderInFullScreen
The hasBorderInFullScreen only has an effect when set before
......@@ -106,10 +106,10 @@ index 1c5be44150..42193baf46 100644
return QFunctionPointer(QWindowsNativeInterface::setWindowActivationBehavior);
if (function == QWindowsWindowFunctions::isTabletModeIdentifier())
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 7597fcb64d..6949b9c669 100644
index 716e461436..1d16741d9a 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1256,6 +1256,7 @@ void QWindowCreationContext::applyToMinMaxInfo(MINMAXINFO *mmi) const
@@ -1258,6 +1258,7 @@ void QWindowCreationContext::applyToMinMaxInfo(MINMAXINFO *mmi) const
const char *QWindowsWindow::embeddedNativeParentHandleProperty = "_q_embedded_native_parent_handle";
const char *QWindowsWindow::hasBorderInFullScreenProperty = "_q_has_border_in_fullscreen";
......@@ -117,7 +117,7 @@ index 7597fcb64d..6949b9c669 100644
QWindowsWindow::QWindowsWindow(QWindow *aWindow, const QWindowsWindowData &data) :
QWindowsBaseWindow(aWindow),
@@ -1293,7 +1294,7 @@ QWindowsWindow::QWindowsWindow(QWindow *aWindow, const QWindowsWindowData &data)
@@ -1295,7 +1296,7 @@ QWindowsWindow::QWindowsWindow(QWindow *aWindow, const QWindowsWindowData &data)
if (aWindow->isTopLevel())
setWindowIcon(aWindow->icon());
......@@ -126,7 +126,7 @@ index 7597fcb64d..6949b9c669 100644
setFlag(HasBorderInFullScreen);
clearFlag(WithinCreate);
}
@@ -2956,6 +2957,11 @@ void QWindowsWindow::setHasBorderInFullScreenStatic(QWindow *window, bool border
@@ -2957,6 +2958,11 @@ void QWindowsWindow::setHasBorderInFullScreenStatic(QWindow *window, bool border
window->setProperty(hasBorderInFullScreenProperty, QVariant(border));
}
......
From f14fa33b2c5452be7df163973c26a0d1222696a2 Mon Sep 17 00:00:00 2001
From 4acf52531fa727a9017a62daf22e239903d2cc83 Mon Sep 17 00:00:00 2001
From: Alvin Wong <alvin@alvinhc.com>
Date: Thu, 18 Apr 2019 18:59:58 +0800
Subject: [PATCH 17/17] Hack to hide 1px border with OpenGL fullscreen hack
Subject: [PATCH 18/19] Hack to hide 1px border with OpenGL fullscreen hack
Unfortunately can't hide all four sides because the bug returns. Now we
leave the bottom border visible, which is probably the most we can do.
......@@ -12,10 +12,10 @@ Ref: https://bugreports.qt.io/browse/QTBUG-41309
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 6949b9c669..10de52d4d6 100644
index 1d16741d9a..8bf3aadd4c 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1634,7 +1634,7 @@ void QWindowsWindow::show_sys() const
@@ -1636,7 +1636,7 @@ void QWindowsWindow::show_sys() const
restoreMaximize = true;
} else {
updateTransientParent();
......@@ -24,7 +24,7 @@ index 6949b9c669..10de52d4d6 100644
sm = SW_SHOWMAXIMIZED;
// Windows will not behave correctly when we try to maximize a window which does not
// have minimize nor maximize buttons in the window frame. Windows would then ignore
@@ -2124,7 +2124,7 @@ bool QWindowsWindow::isFullScreen_sys() const
@@ -2126,7 +2126,7 @@ bool QWindowsWindow::isFullScreen_sys() const
return false;
QRect geometry = geometry_sys();
if (testFlag(HasBorderInFullScreen))
......@@ -33,7 +33,7 @@ index 6949b9c669..10de52d4d6 100644
QPlatformScreen *screen = screenForGeometry(geometry);
return screen && geometry == screen->geometry();
}
@@ -2195,7 +2195,11 @@ void QWindowsWindow::setWindowState_sys(Qt::WindowStates newState)
@@ -2197,7 +2197,11 @@ void QWindowsWindow::setWindowState_sys(Qt::WindowStates newState)
const UINT swpf = SWP_FRAMECHANGED | SWP_NOACTIVATE;
const bool wasSync = testFlag(SynchronousGeometryChangeEvent);
setFlag(SynchronousGeometryChangeEvent);
......
From 46e1d5280515002f5694ddf7a9aab0930e2867c1 Mon Sep 17 00:00:00 2001
From b2f90e81f956fddf4d0115de30ac88a6b2c0bbd4 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Thu, 5 Sep 2019 10:23:08 +0300
Subject: [PATCH] Fix QRandomGenerator initialization on AMD CPUs
Subject: [PATCH 19/19] Fix QRandomGenerator initialization on AMD CPUs
Some AMD CPUs (e.g. AMD A4-6250J and AMD Ryzen 3000-series) have a
failing random generation instruction, which always returns
......@@ -98,7 +98,7 @@ index 917a91098e..4a0adff51c 100644
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp
index ddd715f745..3d051df859 100644
index e44307f28d..898af79b2c 100644
--- a/src/corelib/tools/qsimd.cpp
+++ b/src/corelib/tools/qsimd.cpp
@@ -376,6 +376,37 @@ static quint64 detectProcessorFeatures()
......@@ -139,7 +139,7 @@ index ddd715f745..3d051df859 100644
return features;
}
@@ -590,4 +621,35 @@ void qDumpCPUFeatures()
@@ -589,4 +620,35 @@ void qDumpCPUFeatures()
puts("");
}
......@@ -176,12 +176,12 @@ index ddd715f745..3d051df859 100644
+
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index c36e1e484f..d603631a24 100644
index 9f1321df94..2130a1fbc0 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -346,6 +346,15 @@ extern Q_CORE_EXPORT QBasicAtomicInteger<unsigned> qt_cpu_features[2];
#endif
Q_CORE_EXPORT quint64 qDetectCpuFeatures();
Q_CORE_EXPORT void qDetectCpuFeatures();
+#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
+Q_CORE_EXPORT qsizetype qRandomCpu(void *, qsizetype) Q_DECL_NOTHROW;
......@@ -195,7 +195,7 @@ index c36e1e484f..d603631a24 100644
static inline quint64 qCpuFeatures()
{
quint64 features = qt_cpu_features[0].load();
@@ -362,6 +371,15 @@ static inline quint64 qCpuFeatures()
@@ -366,6 +375,15 @@ static inline quint64 qCpuFeatures()
#define qCpuHasFeature(feature) (((qCompilerCpuFeatures & CpuFeature ## feature) == CpuFeature ## feature) \
|| ((qCpuFeatures() & CpuFeature ## feature) == CpuFeature ## feature))
......
......@@ -53,7 +53,10 @@ if (WIN32)
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0026-Fetch-mapped-screen-size-from-the-Wintab-driver.patch
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0027-Switch-stylus-pointer-type-when-the-tablet-is-in-the.patch
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0028-Fix-updating-tablet-pressure-resolution-on-every-pro.patch
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0050-Fix-using-tablet-on-QML-widgets.patch
# recover this patch broken after update to 5.12.5
#COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0050-Fix-using-tablet-on-QML-widgets.patch
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0051-Add-workaround-for-handling-table-press-correctly-in.patch
)
endif()
......@@ -89,8 +92,8 @@ if (WIN32)
ExternalProject_Add(
ext_qt
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL https://download.qt.io/official_releases/qt/5.12/5.12.4/single/qt-everywhere-src-5.12.4.zip
URL_MD5 16526e08adfad46e8e686b8af984b9b5
URL https://download.qt.io/official_releases/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.zip
URL_MD5 157fa5d9c897737ce06ba4f9a20151e0
PATCH_COMMAND ${ext_qt_PATCH_COMMAND}
......@@ -109,8 +112,8 @@ elseif (NOT APPLE)
ExternalProject_Add(
ext_qt
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL https://download.qt.io/official_releases/qt/5.12/5.12.4/single/qt-everywhere-src-5.12.4.tar.xz
URL_MD5 dda95b0239d13c5276834177af3a8588
URL https://download.qt.io/official_releases/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.tar.xz
URL_MD5 d8c9ed842d39f1a5f31a7ab31e4e886c
PATCH_COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0012-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
COMMAND ${PATCH_COMMAND} -p1 -d qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/0013-Poison-Qt-s-headers-with-a-mark-about-presence-of-En.patch
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment