Jacek Caban : wininet: Store WININETAPPINFOW pointer in WININETFTPSESSIONW.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 30 05:22:26 CST 2006


Module: wine
Branch: master
Commit: 96c0c6c5d9009969521ee3b3819a8122bf81d81c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=96c0c6c5d9009969521ee3b3819a8122bf81d81c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Oct 29 18:52:02 2006 +0100

wininet: Store WININETAPPINFOW pointer in WININETFTPSESSIONW.

---

 dlls/wininet/ftp.c      |    5 +++++
 dlls/wininet/internet.h |    1 +
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index cf37ac8..9be0e74 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -1728,6 +1728,9 @@ HINTERNET FTP_Connect(LPWININETAPPINFOW
     lpwfs->hdr.lpfnStatusCB = hIC->hdr.lpfnStatusCB;
     lpwfs->download_in_progress = NULL;
 
+    WININET_AddRef( &hIC->hdr );
+    lpwfs->lpAppInfo = hIC;
+
     handle = WININET_AllocHandle( &lpwfs->hdr );
     if( !handle )
     {
@@ -2685,6 +2688,8 @@ static void FTP_CloseSessionHandle(LPWIN
 
     TRACE("\n");
 
+    WININET_Release(&lpwfs->lpAppInfo->hdr);
+
     if (lpwfs->download_in_progress != NULL)
 	lpwfs->download_in_progress->session_deleted = TRUE;
     
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index de53717..6d2e857 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -213,6 +213,7 @@ typedef struct
 typedef struct
 {
     WININETHANDLEHEADER hdr;
+    WININETAPPINFOW *lpAppInfo;
     int sndSocket;
     int lstnSocket;
     int pasvSocket; /* data socket connected by us in case of passive FTP */




More information about the wine-cvs mailing list