fix: don't use DPI aware functions on Qt 5 (Windows 7/8) (#5391)

This commit is contained in:
nerix 2024-05-12 22:46:26 +02:00 committed by GitHub
parent 3d5acff907
commit 2ad45bc288
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View file

@ -3,7 +3,7 @@
## Unversioned
- Major: Release plugins alpha. (#5288)
- Major: Improve high-DPI support on Windows. (#4868)
- Major: Improve high-DPI support on Windows. (#4868, #5391)
- Minor: Add option to customise Moderation buttons with images. (#5369)
- Minor: Colored usernames now update on the fly when changing the "Color @usernames" setting. (#5300)
- Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378)

View file

@ -121,12 +121,19 @@ RECT windowBordersFor(HWND hwnd, bool isMaximized)
auto addBorders = isMaximized || isWindows11OrGreater();
if (addBorders)
{
// GetDpiForWindow and GetSystemMetricsForDpi are only supported on
// Windows 10 and later. Qt 6 requires Windows 10.
# if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
auto dpi = GetDpiForWindow(hwnd);
# endif
auto systemMetric = [&](auto index) {
# if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
if (dpi != 0)
{
return GetSystemMetricsForDpi(index, dpi);
}
# endif
return GetSystemMetrics(index);
};