Module: wine Branch: master Commit: f8236c5ac3d1cfa807c12dd1cea9a27f388e32c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f8236c5ac3d1cfa807c12dd1ce...
Author: Jacek Caban jacek@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;