wininet: Store pointer to WININETHTTPSESSIONW in WININETHTTPREQUESTW.
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 2d39608..cfbda27 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c
@@ -1009,6 +1009,9 @@ lpwhr->hdr.destroy = HTTP_CloseHTTPRequestHandle; lpwhr->hdr.lpfnStatusCB = lpwhs->hdr.lpfnStatusCB; + WININET_AddRef( &lpwhs->hdr ); + lpwhr->lpHttpSession = lpwhs; + handle = WININET_AllocHandle( &lpwhr->hdr ); if (NULL == handle) { @@ -2938,6 +2941,8 @@ TRACE("\n"); + WININET_Release(&lpwhr->hdr); + if (NETCON_connected(&lpwhr->netConnection)) HTTP_CloseConnection(lpwhr);
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h index 9c4e7d2..de53717 100644 --- a/dlls/wininet/internet.h +++ b/dlls/wininet/internet.h
@@ -190,6 +190,7 @@ typedef struct { WININETHANDLEHEADER hdr; + WININETHTTPSESSIONW *lpHttpSession; LPWSTR lpszPath; LPWSTR lpszVerb; LPWSTR lpszRawHeaders;