Jacek Caban : wininet:
Call SendCallback in destructor instead of InternetCloseHandle.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Oct 30 05:22:30 CST 2006
Module: wine
Branch: master
Commit: 760043c2455a90cd74178d98b7c81bfbfc81793f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=760043c2455a90cd74178d98b7c81bfbfc81793f
Author: Jacek Caban <jacek at 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 );
More information about the wine-cvs
mailing list