-- v5: user32/sysparams: Handle more contexts in GetAwarenessFromDpiAwarenessContext
From: Fabian Maurer dark.shadow4@web.de
We can't use IsValidDpiAwarenessContext since this uses GetAwarenessFromDpiAwarenessContext which we're testing --- dlls/user32/tests/sysparams.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index 3f25baf3589..ba6ed0c8b4c 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3929,18 +3929,19 @@ static void test_dpi_context(void) switch (i) { case 0x10: - ok( awareness == DPI_AWARENESS_UNAWARE || awareness == DPI_AWARENESS_INVALID /* Win10 1709+ */, + ok( awareness == DPI_AWARENESS_UNAWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; case 0x11: - ok( awareness == DPI_AWARENESS_SYSTEM_AWARE || awareness == DPI_AWARENESS_INVALID /* Win10 1709+ */, + ok( awareness == DPI_AWARENESS_SYSTEM_AWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; case 0x12: ok( awareness == (i & ~0x10), "%Ix: wrong value %u\n", i, awareness ); break; case 0x22: - ok( awareness == DPI_AWARENESS_INVALID || awareness == DPI_AWARENESS_PER_MONITOR_AWARE /* Win10 1709+ */, + todo_wine + ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; default: @@ -3955,18 +3956,19 @@ static void test_dpi_context(void) switch (i) { case 0x10: - ok( awareness == DPI_AWARENESS_UNAWARE || awareness == DPI_AWARENESS_INVALID /* Win10 1709+ */, + ok( awareness == DPI_AWARENESS_UNAWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i | 0x80000000, awareness ); break; case 0x11: - ok( awareness == DPI_AWARENESS_SYSTEM_AWARE || awareness == DPI_AWARENESS_INVALID /* Win10 1709+ */, + ok( awareness == DPI_AWARENESS_SYSTEM_AWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i | 0x80000000, awareness ); break; case 0x12: ok( awareness == (i & ~0x10), "%Ix: wrong value %u\n", i | 0x80000000, awareness ); break; case 0x22: - ok( awareness == DPI_AWARENESS_INVALID || awareness == DPI_AWARENESS_PER_MONITOR_AWARE /* Win10 1709+ */, + todo_wine + ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken ( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; default: @@ -3987,16 +3989,12 @@ static void test_dpi_context(void) ok( pIsValidDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)~i ), "%Ix: not valid\n", ~i ); break; case (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: - if (pIsValidDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)~i )) - ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE, "%Ix: wrong value %u\n", ~i, awareness ); - else - ok( awareness == DPI_AWARENESS_INVALID, "%Ix: wrong value %u\n", ~i, awareness ); + todo_wine + ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken ( awareness == DPI_AWARENESS_INVALID ), "%Ix: wrong value %u\n", ~i, awareness ); break; case (ULONG_PTR)DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED: - if (pIsValidDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)~i )) - ok( awareness == DPI_AWARENESS_UNAWARE, "%Ix: wrong value %u\n", ~i, awareness ); - else - ok( awareness == DPI_AWARENESS_INVALID, "%Ix: wrong value %u\n", ~i, awareness ); + todo_wine + ok( awareness == DPI_AWARENESS_UNAWARE || broken ( awareness == DPI_AWARENESS_INVALID ), "%Ix: wrong value %u\n", ~i, awareness ); break; default: ok( awareness == DPI_AWARENESS_INVALID, "%Ix: wrong value %u\n", ~i, awareness );
From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55630 --- dlls/user32/sysparams.c | 4 ++++ dlls/user32/tests/sysparams.c | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 18e02f1524b..ec8dc11af17 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -656,14 +656,18 @@ DPI_AWARENESS WINAPI GetAwarenessFromDpiAwarenessContext( DPI_AWARENESS_CONTEXT case 0x10: case 0x11: case 0x12: + case 0x22: case 0x80000010: case 0x80000011: case 0x80000012: + case 0x80000022: return (ULONG_PTR)context & 3; case (ULONG_PTR)DPI_AWARENESS_CONTEXT_UNAWARE: case (ULONG_PTR)DPI_AWARENESS_CONTEXT_SYSTEM_AWARE: case (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE: return ~(ULONG_PTR)context; + case (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: + return ~(ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE; default: return DPI_AWARENESS_INVALID; } diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index ba6ed0c8b4c..16756ecb06a 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3940,7 +3940,6 @@ static void test_dpi_context(void) ok( awareness == (i & ~0x10), "%Ix: wrong value %u\n", i, awareness ); break; case 0x22: - todo_wine ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; @@ -3967,7 +3966,6 @@ static void test_dpi_context(void) ok( awareness == (i & ~0x10), "%Ix: wrong value %u\n", i | 0x80000000, awareness ); break; case 0x22: - todo_wine ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken ( awareness == DPI_AWARENESS_INVALID ) /* Win10 1709+ */, "%Ix: wrong value %u\n", i, awareness ); break; @@ -3989,7 +3987,6 @@ static void test_dpi_context(void) ok( pIsValidDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)~i ), "%Ix: not valid\n", ~i ); break; case (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: - todo_wine ok( awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken ( awareness == DPI_AWARENESS_INVALID ), "%Ix: wrong value %u\n", ~i, awareness ); break; case (ULONG_PTR)DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED: