diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2021-01-21 14:17:28 +0100 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2021-02-09 13:33:17 +0100 |
commit | d66cb667efbc33b3a81ecc495e90a2e2f44616b2 (patch) | |
tree | 49babd44fa27d05516d41ed941eae01bc46e8f1c /src | |
parent | 7a1be5ee1e25318ce849e692dfb89e7b66c58201 (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')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsintegration.cpp | 9 |
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) |