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

List:       kde-commits
Subject:    branches/KDE/3.5/kdelibs/khtml/rendering
From:       Allan Sandfeld Jensen <kde () carewolf ! com>
Date:       2006-10-26 19:21:01
Message-ID: 1161890461.831862.26755.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 599349 by carewolf:

Let floats overflow the left border when they should.
BUG:135160 


 M  +7 -4      render_block.cpp  


--- branches/KDE/3.5/kdelibs/khtml/rendering/render_block.cpp #599348:599349
@@ -1896,7 +1896,6 @@
                 _height = o->height() + o->marginTop() + o->marginBottom();
                 f->width = o->width() + o->marginLeft() + o->marginRight();
             }
-            if (fx<0) fx=0;
             f->left = fx;
             //kdDebug( 6040 ) << "positioning left aligned float at (" << fx + \
o->marginLeft()  << "/" << y + o->marginTop() << ") fx=" << fx << endl;  o->setPos(fx \
+ o->marginLeft(), y + o->marginTop()); @@ -1921,14 +1920,18 @@
                 _height = o->height() + o->marginTop() + o->marginBottom();
                 f->width = o->width() + o->marginLeft() + o->marginRight();
             }
-            if (fx<f->width) fx=f->width;
             f->left = fx - f->width;
             //kdDebug( 6040 ) << "positioning right aligned float at (" << fx - \
                o->marginRight() - o->width() << "/" << y + o->marginTop() << ")" << \
                endl;
             o->setPos(fx - o->marginRight() - o->width(), y + o->marginTop());
         }
 
-        if ( m_layer && style()->hidesOverflow() && (o->xPos()+o->width() > \
                m_overflowWidth) )
-            m_overflowWidth = o->xPos()+o->width();
+        if ( m_layer && style()->hidesOverflow()) {
+            if (o->xPos()+o->width() > m_overflowWidth)
+                m_overflowWidth = o->xPos()+o->width();
+            else
+            if (o->xPos() < m_overflowLeft)
+                m_overflowLeft = o->xPos();
+        }
 
         f->startY = y;
         f->endY = f->startY + _height;


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

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