[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/khtml/ecma
From:       Paul Temple <paul.temple () gmx ! net>
Date:       2005-02-11 1:29:27
Message-ID: 20050211012927.171AC1B5AA () office ! kde ! org
[Download RAW message or body]

CVS commit by temple: 

(patch reviewed by David Faure)
BUG: 82243 cannot dynamically add applets by means of \
element.appendChild(document.createElement("applet"))


  M +18 -6     kjs_dom.cpp   1.184


--- kdelibs/khtml/ecma/kjs_dom.cpp  #1.183:1.184
@@ -479,12 +479,24 @@ Value DOMNodeProtoFunc::tryCall(ExecStat
     case DOMNode::DispatchEvent:
       return Boolean(node.dispatchEvent(toEvent(args[0])));
-    case DOMNode::AppendChild:
-      return getDOMNode(exec,node.appendChild(toNode(args[0])));
+    case DOMNode::AppendChild: {
+      Node myNode = toNode(args[0]);
+      Value gdNode = getDOMNode(exec,node.appendChild(myNode));
+      if (myNode.handle() && !myNode.handle()->closed()) myNode.handle()->close();
+      return gdNode;
+    }
     case DOMNode::RemoveChild:
       return getDOMNode(exec,node.removeChild(toNode(args[0])));
-    case DOMNode::InsertBefore:
-      return getDOMNode(exec,node.insertBefore(toNode(args[0]), toNode(args[1])));
-    case DOMNode::ReplaceChild:
-      return getDOMNode(exec,node.replaceChild(toNode(args[0]), toNode(args[1])));
+    case DOMNode::InsertBefore: {
+      Node myNode = toNode(args[0]);
+      Value gdNode = getDOMNode(exec,node.insertBefore(myNode, toNode(args[1])));
+      if (myNode.handle() && !myNode.handle()->closed()) myNode.handle()->close();
+      return gdNode;
+    }
+    case DOMNode::ReplaceChild: {
+      Node myNode = toNode(args[0]);
+      Value gdNode = getDOMNode(exec,node.replaceChild(myNode, toNode(args[1])));
+      if (myNode.handle() && !myNode.handle()->closed()) myNode.handle()->close();
+      return gdNode;
+    }
     case DOMNode::Contains:
     {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic