-- v3: user32/sysparams: Handle DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 in GetAwarenessFromDpiAwarenessContext
From: Fabian Maurer dark.shadow4@web.de
We need to use broken here otherwise it will always succeed on Wine --- dlls/user32/tests/sysparams.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index e6a296f5d3a..5927929e16e 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3975,6 +3975,11 @@ static void test_dpi_context(void) } if (real_dpi != USER_DEFAULT_SCREEN_DPI) test_dpi_stock_objects( hdc ); ReleaseDC( 0, hdc ); + + /* Test DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 */ + awareness = pGetAwarenessFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); + todo_wine + ok (awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken (awareness == DPI_AWARENESS_INVALID), "wrong value %x\n", awareness); /* Win10 1709+ */ }
static LRESULT CALLBACK dpi_winproc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55630 --- dlls/user32/sysparams.c | 2 ++ dlls/user32/tests/sysparams.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 18e02f1524b..d9edbd412f6 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -664,6 +664,8 @@ DPI_AWARENESS WINAPI GetAwarenessFromDpiAwarenessContext( DPI_AWARENESS_CONTEXT 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 5927929e16e..b5799ff730f 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3978,7 +3978,6 @@ static void test_dpi_context(void)
/* Test DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 */ awareness = pGetAwarenessFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); - todo_wine ok (awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken (awareness == DPI_AWARENESS_INVALID), "wrong value %x\n", awareness); /* Win10 1709+ */ }
The mac failure is lack of space, and the other failures don't seem related to my changes.
why is it marked failed on the merge
the patch works and fixes the following bugs which are in reality 3 times the same
https://bugs.winehq.org/show_bug.cgi?id=55630
https://bugs.winehq.org/show_bug.cgi?id=56042
https://bugs.winehq.org/show_bug.cgi?id=56304
thank you again Fabian
Alexandre Julliard (@julliard) commented about dlls/user32/tests/sysparams.c:
} if (real_dpi != USER_DEFAULT_SCREEN_DPI) test_dpi_stock_objects( hdc ); ReleaseDC( 0, hdc );
- /* Test DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 */
- awareness = pGetAwarenessFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
- ok (awareness == DPI_AWARENESS_PER_MONITOR_AWARE || broken (awareness == DPI_AWARENESS_INVALID), "wrong value %x\n", awareness); /* Win10 1709+ */
We already have tests for this a few lines above, please adapt them instead.