[Webkit-unassigned] [Bug 18801] New: Safari Crash in RenderLayer::paintLayer when using Unity plugin

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 29 11:46:37 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=18801

           Summary: Safari Crash in RenderLayer::paintLayer when using Unity
                    plugin
           Product: WebKit
           Version: 526+ (Nightly build)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: UNCONFIRMED
          Severity: Major
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: markharrisevans at gmail.com


Safari crashed in RenderLayer::paintLayer while using the Unity plugin.
While debugging the crash on Mac OS 10.4, I made the following change:
[code]
--- WebCore/rendering/RenderLayer.cpp   (revision 32516)
+++ WebCore/rendering/RenderLayer.cpp   (working copy)
@@ -1621,9 +1621,19 @@
             it[0]->paintLayer(rootLayer, p, paintDirtyRect, haveTransparency,
paintRestriction, paintingRoot);

     // Now walk the sorted list of children with positive z-indices.
+    /*
     if (m_posZOrderList)
         for (Vector<RenderLayer*>::iterator it = m_posZOrderList->begin(); it
!= m_posZOrderList->end(); ++it)
             it[0]->paintLayer(rootLayer, p, paintDirtyRect, haveTransparency,
paintRestriction, paintingRoot);
+    */
+    if( m_posZOrderList )
+    {
+        for( unsigned int i=0; i<m_posZOrderList->size(); ++i )
+        {
+            RenderLayer *rl = m_posZOrderList->at( i );
+            rl->paintLayer( rootLayer, p, paintDirtyRect, haveTransparency,
paintRestriction, paintingRoot );
+        }
+    }

     if (renderer()->hasMask() && shouldPaint && !selectionOnly &&
!damageRect.isEmpty()) {
         setClip(p, paintDirtyRect, damageRect);
[/code]

For some reason moving from the WTF::Vector iterator to walking the array by
index fixed the problem. Dunno about you, but that worries me.

The plugin also seems to trigger a lot of ASSERTS in WebCore when the plugin
performs callbacks to JS/etc.

For access to page and steps to repro, please contact
rick.lee-morang at justleapin.com (reference ticket #993)


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list