Re: [3/4] ole32: Add init cache code after OleLoad in OleCreateFromDataEx
On Wed, Apr 26, 2017 at 03:46:23PM +0800, Wei Xie wrote:
Fix cann't insert any HBITMAP in RichEdit control
From a96e73f270745f0694ea340eb8119566d75f1117 Mon Sep 17 00:00:00 2001 From: Wei xie <xiewei(a)linuxdeepin.com> Date: Wed, 26 Apr 2017 15:14:36 +0800 Subject: [PATCH 3/4] ole32: Add init cache code after OleLoad in OleCreateFromDataEx
Fix cann't insert any HBITMAP in RichEdit control
Signed-off-by: Wei xie <xiewei(a)linuxdeepin.com> --- dlls/ole32/ole2impl.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/ole32/ole2impl.c b/dlls/ole32/ole2impl.c index ccf31fa..a0c4445 100644 --- a/dlls/ole32/ole2impl.c +++ b/dlls/ole32/ole2impl.c @@ -181,6 +181,7 @@ HRESULT WINAPI OleCreateFromDataEx(IDataObject *data, REFIID iid, DWORD flags, { HRESULT hr; UINT src_cf; + IOleCache* ole_cache;
FIXME("(%p, %s, %08x, %08x, %d, %p, %p, %p, %p, %p, %p, %p): stub\n", data, debugstr_guid(iid), flags, renderopt, num_cache_fmts, adv_flags, cache_fmts, @@ -193,6 +194,11 @@ HRESULT WINAPI OleCreateFromDataEx(IDataObject *data, REFIID iid, DWORD flags, if(FAILED(hr)) return hr;
/* FIXME: Init cache */ + hr = IUnknown_QueryInterface((IUnknown*)*obj, &IID_IOleCache, (void**)&ole_cache); + if (SUCCEEDED(hr)) + { + hr = IOleCache_InitCache(ole_cache, data); + }
You'll need to release the ole_cache. Again we'll need some tests. Huw.
participants (1)
-
Huw Davies