Module: wine Branch: master Commit: 760043c2455a90cd74178d98b7c81bfbfc81793f URL: http://source.winehq.org/git/wine.git/?a=commit;h=760043c2455a90cd74178d98b7...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Oct 29 18:58:06 2006 +0100
wininet: Call SendCallback in destructor instead of InternetCloseHandle.
---
dlls/wininet/ftp.c | 12 ++++++++++++ dlls/wininet/http.c | 8 ++++++++ dlls/wininet/internet.c | 10 ++++------ 3 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index c615611..ded0155 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -2689,6 +2689,10 @@ static void FTP_CloseSessionHandle(LPWIN
TRACE("\n");
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + WININET_Release(&lpwfs->lpAppInfo->hdr);
if (lpwfs->download_in_progress != NULL) @@ -2779,6 +2783,10 @@ static void FTP_CloseFindNextHandle(LPWI
TRACE("\n");
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + WININET_Release(&lpwfn->lpFtpSession->hdr);
for (i = 0; i < lpwfn->size; i++) @@ -2805,6 +2813,10 @@ static void FTP_CloseFileTransferHandle(
TRACE("\n");
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + WININET_Release(&lpwh->lpFtpSession->hdr);
if (!lpwh->session_deleted) diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index d9aee10..b85185e 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -2939,6 +2939,10 @@ static void HTTP_CloseHTTPRequestHandle(
TRACE("\n");
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + WININET_Release(&lpwhr->hdr);
if (NETCON_connected(&lpwhr->netConnection)) @@ -2973,6 +2977,10 @@ static void HTTP_CloseHTTPSessionHandle(
TRACE("%p\n", lpwhs);
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + WININET_Release(&lpwhs->lpAppInfo->hdr);
HeapFree(GetProcessHeap(), 0, lpwhs->lpszHostName); diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index 2e653b9..7ee0b88 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -975,6 +975,10 @@ static VOID INTERNET_CloseHandle(LPWININ
TRACE("%p\n",lpwai);
+ INTERNET_SendCallback(hdr, hdr->dwContext, + INTERNET_STATUS_HANDLE_CLOSING, &hdr->hInternet, + sizeof(HINTERNET)); + HeapFree(GetProcessHeap(), 0, lpwai->lpszAgent); HeapFree(GetProcessHeap(), 0, lpwai->lpszProxy); HeapFree(GetProcessHeap(), 0, lpwai->lpszProxyBypass); @@ -1007,12 +1011,6 @@ BOOL WINAPI InternetCloseHandle(HINTERNE return FALSE; }
- /* FIXME: native appears to send this from the equivalent of - * WININET_Release */ - INTERNET_SendCallback(lpwh, lpwh->dwContext, - INTERNET_STATUS_HANDLE_CLOSING, &hInternet, - sizeof(HINTERNET)); - WININET_FreeHandle( hInternet ); WININET_Release( lpwh );