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

View File

@ -142,11 +142,6 @@ static void HTTPPROTOCOL_AllDataRead(HttpProtocol *This)
static void HTTPPROTOCOL_Close(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) if (This->http_negotiate)
{ {
IHttpNegotiate_Release(This->http_negotiate); IHttpNegotiate_Release(This->http_negotiate);
@ -173,11 +168,6 @@ static void HTTPPROTOCOL_Close(HttpProtocol *This)
HeapFree(GetProcessHeap(), 0, This->full_header); HeapFree(GetProcessHeap(), 0, This->full_header);
This->full_header = 0; 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; This->flags = 0;
} }
@ -214,6 +204,18 @@ static void CALLBACK HTTPPROTOCOL_InternetStatusCallback(
else else
IInternetProtocol_Continue((IInternetProtocol *)This, &data); IInternetProtocol_Continue((IInternetProtocol *)This, &data);
return; 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: default:
WARN("Unhandled Internet status callback %d\n", dwInternetStatus); WARN("Unhandled Internet status callback %d\n", dwInternetStatus);
return; return;