[Bug 135160] [test case] non standard CSS float: right rendering
Allan Sandfeld
kde at carewolf.com
Thu Oct 26 19:21:22 UTC 2006
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=135160
kde carewolf com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From kde carewolf com 2006-10-26 21:21 -------
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;
More information about the pkg-kde-bugs-fwd
mailing list