aboutsummaryrefslogtreecommitdiff
path: root/www/firefox/files/patch-ff-453736
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox/files/patch-ff-453736')
-rw-r--r--www/firefox/files/patch-ff-45373646
1 files changed, 46 insertions, 0 deletions
diff --git a/www/firefox/files/patch-ff-453736 b/www/firefox/files/patch-ff-453736
new file mode 100644
index 000000000000..ba4f89f92981
--- /dev/null
+++ b/www/firefox/files/patch-ff-453736
@@ -0,0 +1,46 @@
+diff -p -U 8 -r1.15 nsSVGScriptElement.cpp
+--- content/svg/content/src/nsSVGScriptElement.cpp 28 Apr 2005 23:47:55 -0000 1.15
++++ content/svg/content/src/nsSVGScriptElement.cpp 26 Feb 2009 21:03:08 -0000
+@@ -177,17 +177,40 @@ nsSVGScriptElement::Init()
+ }
+
+ return NS_OK;
+ }
+
+ //----------------------------------------------------------------------
+ // nsIDOMNode methods
+
+-NS_IMPL_DOM_CLONENODE_WITH_INIT(nsSVGScriptElement)
++nsresult
++nsSVGScriptElement::CloneNode(PRBool aDeep, nsIDOMNode** aReturn)
++{
++ *aReturn = nsnull;
++
++ nsSVGScriptElement* it = new nsSVGScriptElement(mNodeInfo);
++ if (!it) {
++ return NS_ERROR_OUT_OF_MEMORY;
++ }
++
++ nsCOMPtr<nsIDOMNode> kungFuDeathGrip(it);
++
++ CopyInnerTo(it, aDeep);
++
++ // The clone should be marked evaluated if we are. It should also be marked
++ // evaluated if we're evaluating, to handle the case when this script node's
++ // script clones the node.
++ it->mIsEvaluated = mIsEvaluated || mEvaluating;
++ it->mLineNumber = mLineNumber;
++
++ kungFuDeathGrip.swap(*aReturn);
++
++ return NS_OK;
++}
+
+ //----------------------------------------------------------------------
+ // nsIDOMSVGScriptElement methods
+
+ /* attribute DOMString type; */
+ NS_IMETHODIMP
+ nsSVGScriptElement::GetType(nsAString & aType)
+ {
+