Bug in rightmost/lowest/leftmost position methods
David Hyatt
hyatt at apple.com
Fri Feb 20 23:33:58 CET 2004
... when examining floats, the margins needed to be added in... very
simple bug...
-------------- next part --------------
Index: khtml/rendering/render_block.cpp
===================================================================
RCS file: /local/home/cvs/Labyrinth/WebCore/khtml/rendering/render_block.cpp,v
retrieving revision 1.100
diff -u -p -r1.100 khtml/rendering/render_block.cpp
--- khtml/rendering/render_block.cpp 2004/02/12 08:04:00 1.100
+++ khtml/rendering/render_block.cpp 2004/02/20 21:08:37
@@ -1638,7 +1662,7 @@ RenderBlock::lowestPosition(bool include
QPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it ) {
if (!r->noPaint) {
- int lp = r->startY + r->node->lowestPosition(false);
+ int lp = r->startY + r->node->marginTop() + r->node->lowestPosition(false);
bottom = kMax(bottom, lp);
}
}
@@ -1676,7 +1700,7 @@ int RenderBlock::rightmostPosition(bool
QPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it ) {
if (!r->noPaint) {
- int rp = r->left + r->node->rightmostPosition(false);
+ int rp = r->left + r->node->marginLeft() + r->node->rightmostPosition(false);
right = kMax(right, rp);
}
}
@@ -1714,7 +1738,7 @@ int RenderBlock::leftmostPosition(bool i
QPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it ) {
if (!r->noPaint) {
- int lp = r->left + r->node->leftmostPosition(false);
+ int lp = r->left + r->node->marginLeft() + r->node->leftmostPosition(false);
left = kMin(left, lp);
}
}
-------------- next part --------------
dave
More information about the Khtml-devel
mailing list