Signed-off-by: Hans Leidekker hans@codeweavers.com --- dlls/winhttp/request.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c index 409ef68b5a..46a47f3bc2 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -3799,7 +3799,9 @@ static void CALLBACK wait_status_callback( HINTERNET handle, DWORD_PTR context, request->error = result->dwError; break; } - default: break; + default: + request->error = ERROR_SUCCESS; + break; } SetEvent( request->wait ); } @@ -4012,18 +4014,17 @@ static DWORD request_wait( struct winhttp_request *request, DWORD timeout ) switch (err) { case WAIT_OBJECT_0: - ret = ERROR_SUCCESS; + ret = request->error; break; case WAIT_TIMEOUT: ret = ERROR_TIMEOUT; break; - case WAIT_FAILED: default: ret = GetLastError(); break; } EnterCriticalSection( &request->cs ); - if (!ret) request->proc_running = FALSE; + if (err == WAIT_OBJECT_0) request->proc_running = FALSE; return ret; }
@@ -4547,11 +4548,9 @@ static HRESULT WINAPI winhttp_request_WaitForResponse( err = ERROR_SUCCESS; break;
- case ERROR_SUCCESS: + default: if (succeeded) *succeeded = VARIANT_TRUE; break; - - default: break; } LeaveCriticalSection( &request->cs ); return HRESULT_FROM_WIN32( err );
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=57279
Your paranoid android.
=== debian10 (32 bit Chinese:China report) ===
winhttp: Unhandled exception: page fault on read access to 0x00000008 in 32-bit code (0x7e68a9b7).
Report errors: winhttp:winhttp crashed (c0000005)