From 53a0d57aff628c73e8da2dbaba0d3c59b0424987 Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Wed, 1 Sep 2021 14:38:03 +0800 Subject: [PATCH] winecfg: Use OpenThemeDataForDpi() to create a theme handle not associated to a window. If a window is not passed to OpenThemeData(), OpenThemeData() assumes the DPI is 96 according to tests. And GetThemePartSize() should select theme parts according to the DPI stored in theme handles rather than using GDI device contexts. Thus, OpenThemeDataForDpi() should be used in place of OpenThemeData() when DPI is not 96 and theme handles shouldn't be associated with a window. Signed-off-by: Zhiyi Zhang Signed-off-by: Alexandre Julliard --- programs/winecfg/theme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/winecfg/theme.c b/programs/winecfg/theme.c index e204a911516..b3a3eeed3ba 100644 --- a/programs/winecfg/theme.c +++ b/programs/winecfg/theme.c @@ -1090,7 +1090,7 @@ static void on_draw_item(HWND hDlg, WPARAM wParam, LPARAM lParam) HTHEME theme; RECT buttonrect; - theme = OpenThemeData(NULL, WC_BUTTONW); + theme = OpenThemeDataForDpi(NULL, WC_BUTTONW, GetDpiForWindow(hDlg)); if (theme) { MARGINS margins;