Module: wine Branch: master Commit: b024cd6de26174fd379efb769906b08c9d12f629 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b024cd6de26174fd379efb7699...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Apr 7 13:05:56 2008 +0200
mshtml: Don't crash if nsWebBrowser could not be created.
---
dlls/mshtml/nsembed.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c index 5d9b247..e46b8fa 100644 --- a/dlls/mshtml/nsembed.c +++ b/dlls/mshtml/nsembed.c @@ -1602,14 +1602,17 @@ NSContainer *NSContainer_Create(HTMLDocument *doc, NSContainer *parent) ret->editor = NULL; ret->reset_focus = NULL;
- if(parent) - nsIWebBrowserChrome_AddRef(NSWBCHROME(parent)); - ret->parent = parent; - nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr, NS_WEBBROWSER_CONTRACTID, NULL, &IID_nsIWebBrowser, (void**)&ret->webbrowser); - if(NS_FAILED(nsres)) + if(NS_FAILED(nsres)) { ERR("Creating WebBrowser failed: %08x\n", nsres); + heap_free(ret); + return NULL; + } + + if(parent) + nsIWebBrowserChrome_AddRef(NSWBCHROME(parent)); + ret->parent = parent;
nsres = nsIWebBrowser_SetContainerWindow(ret->webbrowser, NSWBCHROME(ret)); if(NS_FAILED(nsres))