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

List:       kde-commits
Subject:    KDE/kdelibs/khtml/rendering
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2010-02-12 4:20:55
Message-ID: 1265948455.868685.11195.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1088983 by ggarand:

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

BUG: 220360

 M  +5 -3      bidi.cpp  


--- trunk/KDE/kdelibs/khtml/rendering/bidi.cpp #1088982:1088983
@@ -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