[PATCH v2 0/1] MR1002: win32u: Fix data race in NtUserGetProcessDpiAwarenessContext.
-- v2: win32u: Fix data race in NtUserGetProcessDpiAwarenessContext. https://gitlab.winehq.org/wine/wine/-/merge_requests/1002
From: Jinoh Kang <jinoh.kang.kr(a)gmail.com> --- dlls/win32u/sysparams.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 494bb94c7f1..f90648db7fc 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -5326,14 +5326,17 @@ BOOL WINAPI NtUserSetProcessDpiAwarenessContext( ULONG awareness, ULONG unknown */ ULONG WINAPI NtUserGetProcessDpiAwarenessContext( HANDLE process ) { + DPI_AWARENESS val; + if (process && process != GetCurrentProcess()) { WARN( "not supported on other process %p\n", process ); return NTUSER_DPI_UNAWARE; } - if (!dpi_awareness) return NTUSER_DPI_UNAWARE; - return dpi_awareness; + val = ReadNoFence( &dpi_awareness ); + if (!val) return NTUSER_DPI_UNAWARE; + return val; } BOOL message_beep( UINT i ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1002
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details: The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=125049 Your paranoid android. === debian11 (32 bit report) === d3drm: d3drm.c:5726: Test failed: Expected hr == D3DRMERR_BADOBJECT, got hr 0x88760316. d3drm.c:5728: Test failed: expected ref3 > ref4, got ref3 = 2 , ref4 = 2. Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0041eca3). ddraw: ddraw7.c:15663: Test failed: Expected unsynchronised map for flags 0x1000. ddraw7.c:15663: Test failed: Expected unsynchronised map for flags 0x3000. dxgi: dxgi.c:6403: Test failed: Got unexpected hr 0x887a0004. Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0041368f). dxva2: dxva2: Timeout evr: evr: Timeout explorerframe: nstc: Timeout taskbarlist: Timeout gameux: gameexplorer: Timeout gamestatistics: Timeout gdi32: bitmap: Timeout brush: Timeout clipping: Timeout dc: Timeout dib: Timeout driver: Timeout font: Timeout gdiobj: Timeout icm: Timeout mapping: Timeout metafile: Timeout Report validation errors: dxgi:dxgi prints too much data (39474 bytes) palette: Timeout === debian11 (build log) === 062c:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this. 062c:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this. 062c:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this. === debian11 (build log) === WineRunWineTest.pl:error: The task timed out
This merge request was approved by Zebediah Figura. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1002
participants (4)
-
Jinoh Kang -
Jinoh Kang (@iamahuman) -
Marvin -
Zebediah Figura (@zfigura)