From f8236c5ac3d1cfa807c12dd1cea9a27f388e32c1 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 13 Aug 2013 10:39:34 +0200 Subject: [PATCH] urlmon: Improved BindToObject failure when MIME handler is not available. --- dlls/urlmon/binding.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index 3cb49f18623..306e9b355da 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; -- 2.11.4.GIT