Jacek Caban : mshtml: Use stored nsdoc in IHTMLOptionElementFactory::create .

Alexandre Julliard julliard at winehq.org
Fri Oct 10 08:06:36 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Oct  9 15:26:01 2008 -0500

mshtml: Use stored nsdoc in IHTMLOptionElementFactory::create.

---

 dlls/mshtml/htmloption.c |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c
index 4c93088..4fca490 100644
--- a/dlls/mshtml/htmloption.c
+++ b/dlls/mshtml/htmloption.c
@@ -448,7 +448,6 @@ static HRESULT WINAPI HTMLOptionElementFactory_create(IHTMLOptionElementFactory
         IHTMLOptionElement **optelem)
 {
     HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface);
-    nsIDOMDocument *nsdoc;
     nsIDOMElement *nselem;
     nsAString option_str;
     nsresult nsres;
@@ -456,21 +455,18 @@ static HRESULT WINAPI HTMLOptionElementFactory_create(IHTMLOptionElementFactory
 
     static const PRUnichar optionW[] = {'O','P','T','I','O','N',0};
 
-    TRACE("(%p)->(v v v v %p)\n", This, optelem);
+    TRACE("(%p)->(%s %s %s %s %p)\n", This, debugstr_variant(&text), debugstr_variant(&value),
+          debugstr_variant(&defaultselected), debugstr_variant(&selected), optelem);
 
-    *optelem = NULL;
-    if(!This->doc->nscontainer)
-        return E_FAIL;
-
-    nsres = nsIWebNavigation_GetDocument(This->doc->nscontainer->navigation, &nsdoc);
-    if(NS_FAILED(nsres)) {
-        ERR("GetDocument failed: %08x\n", nsres);
-        return E_FAIL;
+    if(!This->doc->nsdoc) {
+        WARN("NULL nsdoc\n");
+        return E_UNEXPECTED;
     }
 
+    *optelem = NULL;
+
     nsAString_Init(&option_str, optionW);
-    nsres = nsIDOMDocument_CreateElement(nsdoc, &option_str, &nselem);
-    nsIDOMDocument_Release(nsdoc);
+    nsres = nsIDOMHTMLDocument_CreateElement(This->doc->nsdoc, &option_str, &nselem);
     nsAString_Finish(&option_str);
     if(NS_FAILED(nsres)) {
         ERR("CreateElement failed: %08x\n", nsres);




More information about the wine-cvs mailing list