[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

bdakin at apple.com bdakin at apple.com
Wed Dec 22 11:45:19 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b60714d8ed24828485fd39141c39b847c7721c3b
Author: bdakin at apple.com <bdakin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Aug 5 20:59:07 2010 +0000

    Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION:
    Huge number of memory leaks after enabling MathML
    -and corresponding-
    <rdar://problem/8274123>
    
    Reviewed by Kenneth Rohde Christiansen.
    
    Destroy the old children in
    RenderMathMLOperator::updateFromElement() instead of just removing
    them since just removing them will cause them to leak.
    * mathml/RenderMathMLOperator.cpp:
    (WebCore::RenderMathMLOperator::updateFromElement):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1d00a8f..5272e36 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-05  Beth Dakin  <bdakin at apple.com>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION: 
+        Huge number of memory leaks after enabling MathML
+        -and corresponding-
+        <rdar://problem/8274123>
+
+        Destroy the old children in 
+        RenderMathMLOperator::updateFromElement() instead of just removing 
+        them since just removing them will cause them to leak.
+        * mathml/RenderMathMLOperator.cpp:
+        (WebCore::RenderMathMLOperator::updateFromElement):
+
 2010-08-05  Tony Chang  <tony at chromium.org>
 
         Reviewed by David Hyatt.
diff --git a/WebCore/mathml/RenderMathMLOperator.cpp b/WebCore/mathml/RenderMathMLOperator.cpp
index 3ee48cd..a2f9f0a 100644
--- a/WebCore/mathml/RenderMathMLOperator.cpp
+++ b/WebCore/mathml/RenderMathMLOperator.cpp
@@ -117,11 +117,12 @@ static const float gMinimumRatioForStretch = 0.10f;
 
 void RenderMathMLOperator::updateFromElement()
 {
-    // clear our children
-    while (firstChild()) {
-       RenderObject* obj = firstChild();
-       removeChild(obj);
-    }
+    // Destroy our current children
+    children()->destroyLeftoverChildren();
+
+    // Since we share a node with our children, destroying our children will set our node's
+    // renderer to 0, so we need to re-set it back to this.
+    node()->setRenderer(this);
     
     // If the operator is fixed, it will be contained in m_operator
     UChar firstChar = m_operator;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list