Module: wine Branch: master Commit: e9189df9a607c7b901b3e553ea8221b08388c136 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e9189df9a607c7b901b3e553ea...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Jan 31 18:16:31 2008 +0100
urlmon: Don't create stgmed_obj for binding to object.
---
dlls/urlmon/binding.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index b574c96..230a990 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -1458,11 +1458,6 @@ static HRESULT Binding_Create(IMoniker *mon, Binding *binding_ctx, LPCWSTR url, Binding *ret; HRESULT hres;
- if(!to_obj && !IsEqualGUID(&IID_IStream, riid)) { - FIXME("Unsupported riid %s\n", debugstr_guid(riid)); - return E_NOTIMPL; - } - URLMON_LockModule();
ret = heap_alloc_zero(sizeof(Binding)); @@ -1545,7 +1540,15 @@ static HRESULT Binding_Create(IMoniker *mon, Binding *binding_ctx, LPCWSTR url, ret->stgmed_buf = create_stgmed_buf(ret->protocol); }
- ret->stgmed_obj = create_stgmed_stream(ret->stgmed_buf); + if(to_obj) { + ret->stgmed_obj = NULL; + }else if(IsEqualGUID(&IID_IStream, riid)) { + ret->stgmed_obj = create_stgmed_stream(ret->stgmed_buf); + }else { + FIXME("Unsupported riid %s\n", debugstr_guid(riid)); + IBinding_Release(BINDING(ret)); + return E_NOTIMPL; + }
*binding = ret; return S_OK;