Jacek Caban : mshtml: Call unlink from HTMLDOMNode::Release.

Alexandre Julliard julliard at winehq.org
Wed Jun 11 13:36:21 CDT 2014


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue May 27 11:28:44 2014 +0200

mshtml: Call unlink from HTMLDOMNode::Release.

---

 dlls/mshtml/htmldoc.c  |    6 +-----
 dlls/mshtml/htmlnode.c |    2 ++
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index dd4949f..a9db920 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -4330,11 +4330,7 @@ static void HTMLDocumentNode_destructor(HTMLDOMNode *iface)
         This->nsnode_selector = NULL;
     }
 
-    if(This->nsdoc) {
-        assert(!This->window);
-        release_document_mutation(This);
-        nsIDOMHTMLDocument_Release(This->nsdoc);
-    }else if(This->window) {
+    if(!This->nsdoc && This->window) {
         /* document fragments own reference to inner window */
         IHTMLWindow2_Release(&This->window->base.IHTMLWindow2_iface);
         This->window = NULL;
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index 42e7c6a..a89b0ca 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -492,6 +492,8 @@ static ULONG WINAPI HTMLDOMNode_Release(IHTMLDOMNode *iface)
     TRACE("(%p) ref=%d\n", This, ref);
 
     if(!ref) {
+        if(This->vtbl->unlink)
+            This->vtbl->unlink(This);
         This->vtbl->destructor(This);
         release_dispex(&This->dispex);
         heap_free(This);




More information about the wine-cvs mailing list