From 19b01f2fca53f90248fc8e0463395d112a44f88e Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 10 Feb 2009 16:30:45 +0100 Subject: [PATCH] wininet: Make sure that we have some data buffered before sending INTERNET_STATUS_REQUEST_COMPLETE notification. --- dlls/wininet/ftp.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index 817660a6e61..32607b9beee 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -1308,10 +1308,14 @@ HINTERNET FTP_FtpOpenFileW(LPWININETFTPSESSIONW lpwfs, &iar, sizeof(INTERNET_ASYNC_RESULT)); } - iar.dwResult = bSuccess; - iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError(); - SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE, - &iar, sizeof(INTERNET_ASYNC_RESULT)); + if(bSuccess) { + FTP_ReceiveRequestData(lpwh, TRUE); + }else { + iar.dwResult = 0; + iar.dwError = INTERNET_GetLastError(); + SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE, + &iar, sizeof(INTERNET_ASYNC_RESULT)); + } } lend: