summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mir_core/src/Windows/winutil.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mir_core/src/Windows/winutil.cpp b/src/mir_core/src/Windows/winutil.cpp
index 79a271fdbd..b17feca760 100644
--- a/src/mir_core/src/Windows/winutil.cpp
+++ b/src/mir_core/src/Windows/winutil.cpp
@@ -119,15 +119,17 @@ MIR_CORE_DLL(int) Utils_AssertInsideScreen(RECT *rc)
/////////////////////////////////////////////////////////////////////////////////////////
-static LOGFONTW g_lfDefault = {0};
+static NONCLIENTMETRICSW ncm = {};
MIR_CORE_DLL(int) Utils_CorrectFontSize(int size)
{
if (!g_bEnableDpiAware)
return size;
- if (!g_lfDefault.lfHeight)
- SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(g_lfDefault), &g_lfDefault, FALSE);
+ if (!ncm.cbSize) {
+ ncm.cbSize = sizeof(ncm);
+ SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE);
+ }
- return size * g_lfDefault.lfHeight / -12;
+ return size * ncm.lfMessageFont.lfHeight / -12;
}