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

List:       kde-commits
Subject:    KDE/kdelibs/khtml/rendering
From:       Maks Orlovich <maksim () kde ! org>
Date:       2010-07-29 17:04:44
Message-ID: 20100729170444.79927AC782 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1156769 by orlovich:

Merged revision:r1156766 | orlovich | 2010-07-29 13:03:22 -0400 (Thu, 29 Jul 2010) | 9 lines

Make sure we don't leave stale references in +/- Z lists when a layer 
stops being a stacking context.

FIXED-IN:4.5.1
BUG:246061
BUG:244535
BUG:238441
BUG:222656

 M  +10 -0     render_layer.cpp  


--- trunk/KDE/kdelibs/khtml/rendering/render_layer.cpp #1156768:1156769
@@ -1680,6 +1680,16 @@
 
 void RenderLayer::styleChanged()
 {
+    // If we stopped being a stacking context, make sure to clear our
+    // child lists so we don't end up with dangling references when a kid
+    // is removed (as it wouldn't know to remove from us)
+    if (!isStackingContext() && (m_posZOrderList || m_negZOrderList)) {
+        delete m_posZOrderList;
+        m_posZOrderList = 0;
+        delete m_negZOrderList;
+        m_negZOrderList = 0;
+    }
+
     bool isOverflowOnly = shouldBeOverflowOnly();
     if (isOverflowOnly != m_isOverflowOnly) {
         m_isOverflowOnly = isOverflowOnly;
[prev in list] [next in list] [prev in thread] [next in thread] 

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