Small test case for bug in renderer floats

Vadim Plessky lucy-ples at mtu-net.ru
Tue Jul 30 14:10:23 BST 2002


On Tuesday 30 July 2002 4:32 pm, Koos Vriezen wrote:
|  On Mon, 29 Jul 2002, Koos Vriezen wrote:
|  >
|  > Not sure what goes wrong here, but this makes the float be indented by
|  > the body margin twice. First guess would be call
|  > RenderFlow::addOverHangingFloats with child, 0, -child->yPos() and true.
|  > Also helps for http://www.linuxplanet.com/linuxplanet/reviews/4315/1
|  > reported by Hetz Ben Hamo on 18 July to this list.
|
|  This is the patch I used.
|
|  diff -u -3 -p -r1.277 render_flow.cpp
|  --- rendering/render_flow.cpp   2002/07/16 19:50:14     1.277
|  +++ rendering/render_flow.cpp   2002/07/30 12:24:27
|  @@ -452,7 +452,7 @@ void RenderFlow::layoutBlockChildren( bo
|
|          if ( child->hasOverhangingFloats() ) {
|              // need to add the float to our special objects
|  -           addOverHangingFloats( static_cast<RenderFlow *>(child),
| -child->xPos(), -child->yPos(), true ); +           addOverHangingFloats(
| static_cast<RenderFlow *>(child), 0, -child->yPos(), true ); }
|
|           child = child->nextSibling();
|
|  It also fixes Bug#41403, that is the alignment with the body right border.
|  But is it correct that a RenderHtml can have a special? Now you have a
|  float that has a height greater than that of the body.

I think that <body> element should be auto-expanded in case some child element 
is bigger than it.
Situation with absolutely (and relatively) positioned elements, plus with 
'float', is not so clear.
IIRC W3C CSS2 specification says nothing about it...
May be, you should ask on <www-style> mailing list what is corrected/expected 
behaviour?

|
|  Koos

-- 

Vadim Plessky
http://kde2.newmail.ru  (English)
33 Window Decorations and 6 Widget Styles for KDE
http://kde2.newmail.ru/kde_themes.html
KDE mini-Themes
http://kde2.newmail.ru/themes/





More information about the kfm-devel mailing list