summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowsintegration.cpp
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2021-01-21 14:17:28 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2021-02-09 13:33:17 +0100
commitd66cb667efbc33b3a81ecc495e90a2e2f44616b2 (patch)
tree49babd44fa27d05516d41ed941eae01bc46e8f1c /src/plugins/platforms/windows/qwindowsintegration.cpp
parent7a1be5ee1e25318ce849e692dfb89e7b66c58201 (diff)
Windows: Change default to ProcessPerMonitorV2DpiAware
Fixes: QTBUG-68712 Change-Id: Id73c4a5422e50b5bee2160468feb4d2f09c5461a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsintegration.cpp')
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp
index ed401bac30..822c11d0f2 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.cpp
+++ b/src/plugins/platforms/windows/qwindowsintegration.cpp
@@ -245,9 +245,11 @@ void QWindowsIntegrationPrivate::parseOptions(QWindowsIntegration *q, const QStr
initOpenGlBlacklistResources();
static bool dpiAwarenessSet = false;
- // Default to per-monitor awareness to avoid being scaled when monitors with different DPI
- // are connected to Windows 8.1
- QtWindows::ProcessDpiAwareness dpiAwareness = QtWindows::ProcessPerMonitorDpiAware;
+ static bool hasDpiAwarenessContext = QWindowsContext::user32dll.setProcessDpiAwarenessContext != nullptr;
+ // Default to per-monitor-v2 awareness (if available)
+ QtWindows::ProcessDpiAwareness dpiAwareness = hasDpiAwarenessContext ?
+ QtWindows::ProcessPerMonitorV2DpiAware : QtWindows::ProcessPerMonitorDpiAware;
+
int tabletAbsoluteRange = -1;
DarkModeHandling darkModeHandling;
m_options = ::parseOptions(paramList, &tabletAbsoluteRange, &dpiAwareness, &darkModeHandling);
@@ -265,7 +267,6 @@ void QWindowsIntegrationPrivate::parseOptions(QWindowsIntegration *q, const QStr
if (!QCoreApplication::testAttribute(Qt::AA_PluginApplication)) {
// DpiAwareV2 requires using new API
- bool hasDpiAwarenessContext = QWindowsContext::user32dll.setProcessDpiAwarenessContext != nullptr;
if (dpiAwareness == QtWindows::ProcessPerMonitorV2DpiAware && hasDpiAwarenessContext) {
m_context.setProcessDpiV2Awareness();
qCDebug(lcQpaWindows)