From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56360 --- dlls/user32/sysparams.c | 4 +++- dlls/user32/tests/sysparams.c | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index ec8dc11af17..d30bed44b31 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -747,7 +747,9 @@ DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT prev = NtUserGetProcessDpiAwarenessContext( GetCurrentProcess() ) & 3; prev |= 0x80000010; /* restore to process default */ } - if (((ULONG_PTR)context & ~(ULONG_PTR)0x13) == 0x80000000) info->dpi_awareness = 0; + if (((ULONG_PTR)context & ~(ULONG_PTR)0x33) == 0x80000000) info->dpi_awareness = 0; + else if (context == DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 || context == (DPI_AWARENESS_CONTEXT)0x22) + info->dpi_awareness = 0x22; else info->dpi_awareness = val | 0x10; return ULongToHandle( prev ); } diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index 68fe455a002..a3d3785c689 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3796,15 +3796,15 @@ static void test_ThreadDpiAwarenessContext(ULONG_PTR flags) { 0x10 | flags, 0x10 | flags, 0x10 | flags }, { 0x11 | flags, 0x11 | flags, 0x11 | flags }, { 0x12, 0x12, 0x12 }, - { 0x22, 0x22, 0x22, TRUE, TRUE }, + { 0x22, 0x22, 0x22}, { 0x80000010 | flags, 0x10 | awareness | flags, 0x80000010 | awareness | flags }, { 0x80000011 | flags, 0x10 | awareness | flags, 0x80000010 | awareness | flags }, { 0x80000012, 0x10 | awareness | flags, 0x80000010 | awareness | flags }, - { 0x80000022, 0x10 | awareness | flags, 0x80000010 | awareness | flags, FALSE, TRUE }, + { 0x80000022, 0x10 | awareness | flags, 0x80000010 | awareness | flags }, { (ULONG_PTR)DPI_AWARENESS_CONTEXT_UNAWARE, 0x10 | flags, 0x10 | flags }, { (ULONG_PTR)DPI_AWARENESS_CONTEXT_SYSTEM_AWARE, 0x11 | flags, 0x11 | flags }, { (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE, 0x12, 0x12 }, - { (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2, 0x22, 0x22, TRUE, TRUE }, + { (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2, 0x22, 0x22 }, { 0x12, 0x12 }, /* Only for last_result test */ };