Jacek Caban : urlmon: Use BindToStorage hack only for binding to IStream.

Alexandre Julliard julliard at winehq.org
Mon Feb 18 08:50:41 CST 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Feb 18 01:12:38 2008 +0100

urlmon: Use BindToStorage hack only for binding to IStream.

---

 dlls/urlmon/umon.c |   21 +++++++--------------
 1 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/dlls/urlmon/umon.c b/dlls/urlmon/umon.c
index cb276af..f6ea427 100644
--- a/dlls/urlmon/umon.c
+++ b/dlls/urlmon/umon.c
@@ -493,10 +493,7 @@ static HRESULT WINAPI URLMonikerImpl_BindToObject(IMoniker* iface,
 /******************************************************************************
  *        URLMoniker_BindToStorage
  ******************************************************************************/
-static HRESULT URLMonikerImpl_BindToStorage_hack(LPCWSTR URLName,
-						   IBindCtx* pbc,
-						   REFIID riid,
-						   VOID** ppvObject)
+static HRESULT URLMonikerImpl_BindToStorage_hack(LPCWSTR URLName, IBindCtx* pbc, VOID** ppvObject)
 {
     HRESULT hres;
     BINDINFO bi;
@@ -505,12 +502,7 @@ static HRESULT URLMonikerImpl_BindToStorage_hack(LPCWSTR URLName,
     Binding *bind;
     int len;
 
-    WARN("(%s %p %s %p)\n", debugstr_w(URLName), pbc, debugstr_guid(riid), ppvObject);
-
-    if(!IsEqualIID(&IID_IStream, riid)) {
-	FIXME("unsupported iid\n");
-	return E_NOTIMPL;
-    }
+    WARN("(%s %p %p)\n", debugstr_w(URLName), pbc, ppvObject);
 
     bind = heap_alloc_zero(sizeof(Binding));
     bind->lpVtbl = &BindingVtbl;
@@ -741,10 +733,11 @@ static HRESULT WINAPI URLMonikerImpl_BindToStorage(IMoniker* iface,
         return E_FAIL;
     }
 
-    if(url.nScheme== INTERNET_SCHEME_HTTPS
-       || url.nScheme== INTERNET_SCHEME_FTP
-       || url.nScheme == INTERNET_SCHEME_GOPHER)
-        return URLMonikerImpl_BindToStorage_hack(This->URLName, pbc, riid, ppvObject);
+    if(IsEqualGUID(&IID_IStream, riid) &&
+       (  url.nScheme == INTERNET_SCHEME_HTTPS
+       || url.nScheme == INTERNET_SCHEME_FTP
+       || url.nScheme == INTERNET_SCHEME_GOPHER))
+        return URLMonikerImpl_BindToStorage_hack(This->URLName, pbc, ppvObject);
 
     TRACE("(%p)->(%p %p %s %p)\n", This, pbc, pmkToLeft, debugstr_guid(riid), ppvObject);
 




More information about the wine-cvs mailing list