ChangeSet ID: 21324 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/18 06:06:12
Modified files: dlls/shdocvw : webbrowser.c shdocvw.h events.c
Log message: Jacek Caban jacek@codeweavers.com Free ConnectionPoint objects (fix memory leak).
Patch: http://cvs.winehq.org/patch.py?id=21324
Old revision New revision Changes Path 1.24 1.25 +1 -0 wine/dlls/shdocvw/webbrowser.c 1.30 1.31 +1 -0 wine/dlls/shdocvw/shdocvw.h 1.17 1.18 +7 -0 wine/dlls/shdocvw/events.c
Index: wine/dlls/shdocvw/webbrowser.c diff -u -p wine/dlls/shdocvw/webbrowser.c:1.24 wine/dlls/shdocvw/webbrowser.c:1.25 --- wine/dlls/shdocvw/webbrowser.c:1.24 18 Nov 2005 12: 6:12 -0000 +++ wine/dlls/shdocvw/webbrowser.c 18 Nov 2005 12: 6:12 -0000 @@ -125,6 +125,7 @@ static ULONG WINAPI WebBrowser_Release(I IUnknown_Release(This->document);
WebBrowser_OleObject_Destroy(This); + WebBrowser_Events_Destroy(This);
HeapFree(GetProcessHeap(), 0, This); SHDOCVW_UnlockModule(); Index: wine/dlls/shdocvw/shdocvw.h diff -u -p wine/dlls/shdocvw/shdocvw.h:1.30 wine/dlls/shdocvw/shdocvw.h:1.31 --- wine/dlls/shdocvw/shdocvw.h:1.30 18 Nov 2005 12: 6:12 -0000 +++ wine/dlls/shdocvw/shdocvw.h 18 Nov 2005 12: 6:12 -0000 @@ -131,6 +131,7 @@ void WebBrowser_ClientSite_Init(WebBrows void WebBrowser_DocHost_Init(WebBrowser*);
void WebBrowser_OleObject_Destroy(WebBrowser*); +void WebBrowser_Events_Destroy(WebBrowser*);
HRESULT WebBrowser_Create(IUnknown*,REFIID,void**);
Index: wine/dlls/shdocvw/events.c diff -u -p wine/dlls/shdocvw/events.c:1.17 wine/dlls/shdocvw/events.c:1.18 --- wine/dlls/shdocvw/events.c:1.17 18 Nov 2005 12: 6:12 -0000 +++ wine/dlls/shdocvw/events.c 18 Nov 2005 12: 6:12 -0000 @@ -233,3 +233,10 @@ void WebBrowser_Events_Init(WebBrowser * ConnectionPoint_Create(This, &DIID_DWebBrowserEvents, &This->cp_wbe); ConnectionPoint_Create(This, &IID_IPropertyNotifySink, &This->cp_pns); } + +void WebBrowser_Events_Destroy(WebBrowser *This) +{ + HeapFree(GetProcessHeap(), 0, This->cp_wbe2); + HeapFree(GetProcessHeap(), 0, This->cp_wbe); + HeapFree(GetProcessHeap(), 0, This->cp_pns); +}