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

List:       kde-commits
Subject:    branches/KDE/4.4/kdelibs/khtml/rendering
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2010-02-12 15:45:48
Message-ID: 1265989548.077960.9394.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1089162 by ggarand:

automatically merged revision 1088983:
fix occasional crash when laying out inline flow children as
repaintDuringLayout() would access inline boxes we just deleted.

 M  +5 -3      bidi.cpp  


--- branches/KDE/4.4/kdelibs/khtml/rendering/bidi.cpp #1089161:1089162
@@ -1389,10 +1389,10 @@
         RenderObject *o = first( this, 0, false );
         while ( o ) {
             invalidateVerticalPosition();
-            if (o->markedForRepaint()) {
+            if (!fullLayout && o->markedForRepaint()) {
                 o->repaintDuringLayout();
                 o->setMarkedForRepaint(false);
-             }
+            }
             if (o->isReplaced() || o->isFloating() || o->isPositioned()) {
 
                 if ((!o->isPositioned() || o->isPosWithStaticDim()) && 
@@ -1411,8 +1411,10 @@
                 }
             }
             else {
-                if (fullLayout || o->selfNeedsLayout())
+                if (fullLayout || o->selfNeedsLayout()) {
                     o->dirtyInlineBoxes(fullLayout);
+                    o->setMarkedForRepaint(false);
+                }
                 o->setNeedsLayout(false);
             }
             o = Bidinext( this, o, 0, false );
[prev in list] [next in list] [prev in thread] [next in thread] 

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