Juan Lang : cryptui: Fix crash with native riched20.
Alexandre Julliard
julliard at winehq.org
Fri Jan 9 09:52:35 CST 2009
Module: wine
Branch: master
Commit: e50e78f1cbcb10358c49aa044d63ae9561327482
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e50e78f1cbcb10358c49aa044d63ae9561327482
Author: Juan Lang <juan.lang at gmail.com>
Date: Thu Jan 8 21:06:34 2009 -0800
cryptui: Fix crash with native riched20.
---
dlls/cryptui/main.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index 1abeff4..a5fb580 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -1666,6 +1666,7 @@ static void add_icon_to_control(HWND hwnd, int id)
HBITMAP bitmap = NULL;
RECT rect;
STGMEDIUM stgm;
+ LPOLECLIENTSITE clientSite = NULL;
REOBJECT reObject;
TRACE("(%p, %d)\n", hwnd, id);
@@ -1695,6 +1696,9 @@ static void add_icon_to_control(HWND hwnd, int id)
(void**)&dataObject);
if (FAILED(hr))
goto end;
+ hr = IRichEditOle_GetClientSite(richEditOle, &clientSite);
+ if (FAILED(hr))
+ goto end;
bitmap = LoadImageW(hInstance, MAKEINTRESOURCEW(id), IMAGE_BITMAP, 0, 0,
LR_DEFAULTSIZE | LR_LOADTRANSPARENT);
if (!bitmap)
@@ -1714,7 +1718,7 @@ static void add_icon_to_control(HWND hwnd, int id)
reObject.clsid = clsid;
reObject.poleobj = object;
reObject.pstg = NULL;
- reObject.polesite = NULL;
+ reObject.polesite = clientSite;
reObject.sizel.cx = reObject.sizel.cy = 0;
reObject.dvaspect = DVASPECT_CONTENT;
reObject.dwFlags = 0;
@@ -1723,6 +1727,8 @@ static void add_icon_to_control(HWND hwnd, int id)
IRichEditOle_InsertObject(richEditOle, &reObject);
end:
+ if (clientSite)
+ IOleClientSite_Release(clientSite);
if (dataObject)
IDataObject_Release(dataObject);
if (oleCache)
More information about the wine-cvs
mailing list