mshtml: Added IHTMLTableRow::insertCell method implementation. (try 4)

Zhenbo Li litimetal at gmail.com
Mon May 26 09:12:50 CDT 2014


Thanks Jacek, this patch supersedes 104821

Try 4:
Remove
 > +    IDispatch_AddRef(*row);
 > +    IHTMLElement_Release(&elem->IHTMLElement_iface);

Try 3:

1. Don't do unnecessary initialization
-    HTMLElement *elem = NULL;
+    HTMLElement *elem;

2. Avoid memory leak
       hres = HTMLTableCell_Create(This->element.node.doc, nselem, &elem);
+    nsIDOMHTMLElement_Release(nselem);
       if (FAILED(hres)) {
           ERR("Create TableCell failed: %08x\n", hres);
           return hres;
       }
-    nsIDOMHTMLElement_Release(nselem);

3. Just use type cast
+    *row = (IDispatch *)&elem->IHTMLElement_iface;
+    IDispatch_AddRef(*row);
+    IHTMLElement_Release(&elem->IHTMLElement_iface);
---
  dlls/mshtml/htmltablerow.c | 23 +++++++++++++++++++++--
  dlls/mshtml/tests/dom.c    | 12 ++++++++++++
  2 files changed, 33 insertions(+), 2 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-mshtml-Added-IHTMLTableRow-insertCell-method-implement.txt
Type: text/x-patch
Size: 2252 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20140526/5d41df5e/attachment.bin>


More information about the wine-patches mailing list