[PATCH 6/6] user32: Change IsProcessDPIAware() to always return TRUE.
Huw Davies
huw at codeweavers.com
Tue May 2 05:47:38 CDT 2017
This mimics Windows' behaviour when the 'Use Windows XP style DPI
scaling' box is ticked. Since we don't have a DPI scaler, this makes
most sense.
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/user32/sysparams.c | 9 ++++-----
dlls/user32/tests/sysparams.c | 31 ++++++++++++++++++++++++++++++-
2 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index 35565f10b3..bec4d66edd 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -2910,10 +2910,9 @@ BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR lpszDeviceName, DWORD iModeNum,
/***********************************************************************
* SetProcessDPIAware (USER32.@)
*/
-BOOL WINAPI SetProcessDPIAware( VOID )
+BOOL WINAPI SetProcessDPIAware(void)
{
- FIXME( "stub!\n");
-
+ TRACE("\n");
return TRUE;
}
@@ -2922,8 +2921,8 @@ BOOL WINAPI SetProcessDPIAware( VOID )
*/
BOOL WINAPI IsProcessDPIAware(void)
{
- FIXME( "stub!\n");
- return FALSE;
+ TRACE("returning TRUE\n");
+ return TRUE;
}
/**********************************************************************
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c
index 5a95fa4db6..a668878e26 100644
--- a/dlls/user32/tests/sysparams.c
+++ b/dlls/user32/tests/sysparams.c
@@ -39,6 +39,8 @@
#endif
static LONG (WINAPI *pChangeDisplaySettingsExA)(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID);
+static BOOL (WINAPI *pIsProcessDPIAware)(void);
+static BOOL (WINAPI *pSetProcessDPIAware)(void);
static BOOL strict;
static int dpi, real_dpi;
@@ -2958,6 +2960,30 @@ static void test_GetSysColorBrush(void)
win_skip("COLOR_MENUBAR unsupported\n");
}
+static void test_dpi_aware(void)
+{
+ BOOL ret, dpi_scaling = (dpi != real_dpi);
+ int size;
+
+ if (!pIsProcessDPIAware)
+ {
+ win_skip("IsProcessDPIAware not available\n");
+ return;
+ }
+
+ ret = pIsProcessDPIAware();
+ ok(ret == !dpi_scaling, "got %d, dpi %d, real_dpi %d\n", dpi, real_dpi);
+
+ ret = pSetProcessDPIAware();
+ ok(ret, "got %d\n", ret);
+
+ ret = pIsProcessDPIAware();
+ ok(ret, "got %d\n", ret);
+
+ dpi = real_dpi;
+ test_GetSystemMetrics();
+}
+
START_TEST(sysparams)
{
int argc;
@@ -2969,7 +2995,9 @@ START_TEST(sysparams)
HANDLE hInstance, hdll;
hdll = GetModuleHandleA("user32.dll");
- pChangeDisplaySettingsExA=(void*)GetProcAddress(hdll, "ChangeDisplaySettingsExA");
+ pChangeDisplaySettingsExA = (void*)GetProcAddress(hdll, "ChangeDisplaySettingsExA");
+ pIsProcessDPIAware = (void*)GetProcAddress(hdll, "IsProcessDPIAware");
+ pSetProcessDPIAware = (void*)GetProcAddress(hdll, "SetProcessDPIAware");
hInstance = GetModuleHandleA( NULL );
hdc = GetDC(0);
@@ -3020,4 +3048,5 @@ START_TEST(sysparams)
}
ReleaseDC( 0, hdc);
+ test_dpi_aware();
}
--
2.12.0
More information about the wine-patches
mailing list