Jacek Caban : urlmon: Improved BindToObject failure when MIME handler is not available.

Alexandre Julliard julliard at winehq.org
Thu Aug 15 13:12:47 CDT 2013


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Aug 13 10:39:34 2013 +0200

urlmon: Improved BindToObject failure when MIME handler is not available.

---

 dlls/urlmon/binding.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c
index 3cb49f1..306e9b3 100644
--- a/dlls/urlmon/binding.c
+++ b/dlls/urlmon/binding.c
@@ -299,16 +299,18 @@ static void create_object(Binding *binding)
         return;
     }
 
-    if(!(clsid_str = get_mime_clsid(binding->mime, &clsid))) {
-        FIXME("Could not find object for MIME %s\n", debugstr_w(binding->mime));
-        return;
-    }
+    if((clsid_str = get_mime_clsid(binding->mime, &clsid)))
+        IBindStatusCallback_OnProgress(binding->callback, 0, 0, BINDSTATUS_CLASSIDAVAILABLE, clsid_str);
 
-    IBindStatusCallback_OnProgress(binding->callback, 0, 0, BINDSTATUS_CLASSIDAVAILABLE, clsid_str);
     IBindStatusCallback_OnProgress(binding->callback, 0, 0, BINDSTATUS_BEGINSYNCOPERATION, NULL);
 
-    hres = create_mime_object(binding, &clsid, clsid_str);
-    heap_free(clsid_str);
+    if(clsid_str) {
+        hres = create_mime_object(binding, &clsid, clsid_str);
+        heap_free(clsid_str);
+    }else {
+        FIXME("Could not find object for MIME %s\n", debugstr_w(binding->mime));
+        hres = REGDB_E_CLASSNOTREG;
+    }
 
     IBindStatusCallback_OnProgress(binding->callback, 0, 0, BINDSTATUS_ENDSYNCOPERATION, NULL);
     binding->clsid = CLSID_NULL;




More information about the wine-cvs mailing list