Jacek Caban : mshtml: Don't crash if nsWebBrowser could not be created.

Alexandre Julliard julliard at winehq.org
Mon Apr 7 06:51:06 CDT 2008


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

Author: Jacek Caban <jacek at 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))




More information about the wine-cvs mailing list