urlmon: Call IInternetProtocolSink_Release and ReleaseStgMedium in HttpProtocol where native does.

This commit is contained in:
Misha Koshelev 2007-08-16 00:03:49 -05:00 committed by Alexandre Julliard
parent c8ab2a947c
commit 5a11a1201f
1 changed files with 12 additions and 10 deletions

View File

@ -142,11 +142,6 @@ static void HTTPPROTOCOL_AllDataRead(HttpProtocol *This)
static void HTTPPROTOCOL_Close(HttpProtocol *This)
{
if (This->protocol_sink)
{
IInternetProtocolSink_Release(This->protocol_sink);
This->protocol_sink = 0;
}
if (This->http_negotiate)
{
IHttpNegotiate_Release(This->http_negotiate);
@ -173,11 +168,6 @@ static void HTTPPROTOCOL_Close(HttpProtocol *This)
HeapFree(GetProcessHeap(), 0, This->full_header);
This->full_header = 0;
}
if (This->bind_info.cbSize)
{
ReleaseBindInfo(&This->bind_info);
memset(&This->bind_info, 0, sizeof(This->bind_info));
}
This->flags = 0;
}
@ -214,6 +204,18 @@ static void CALLBACK HTTPPROTOCOL_InternetStatusCallback(
else
IInternetProtocol_Continue((IInternetProtocol *)This, &data);
return;
case INTERNET_STATUS_HANDLE_CLOSING:
if (This->protocol_sink)
{
IInternetProtocolSink_Release(This->protocol_sink);
This->protocol_sink = 0;
}
if (This->bind_info.cbSize)
{
ReleaseBindInfo(&This->bind_info);
memset(&This->bind_info, 0, sizeof(This->bind_info));
}
return;
default:
WARN("Unhandled Internet status callback %d\n", dwInternetStatus);
return;