[prev in list] [next in list] [prev in thread] [next in thread]
List: konq-bugs
Subject: [Bug 94050] [test case] tables shift on bbc.co.uk/eastenders
From: Germain Garand <germain () ebooksfrance ! com>
Date: 2005-03-04 13:09:05
Message-ID: 20050304130905.1459.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=94050
germain ebooksfrance com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
------- Additional Comments From germain ebooksfrance com 2005-03-04 14:09 -------
CVS commit by ggarand:
percent width children behaves like fixed width children with regard to float
clearing. In both cases we need to check if current line as enough width to
hold the (flowing-around-float) child. If not, we need to clear.
BUG: 94050
M +7 -0 ChangeLog 1.396
M +12 -3 rendering/render_block.cpp 1.64
--- kdelibs/khtml/ChangeLog #1.395:1.396
@ -1,4 +1,11 @
2005-03-04 Germain Garand <germain ebooksfrance org>
+ * rendering/render_block.cpp (layoutBlockChildren): percent width
+ children behaves like fixed width children with regard to float
+ clearing. In both cases we need to check if current line as enough width to
+ hold the (flowing-around-float) child. If not, we need to clear.
+
+2005-03-04 Germain Garand <germain ebooksfrance org>
+
* rendering/render_table.cpp (calcWidth): always use lineWidth for
table margins calculation (#89900)
--- kdelibs/khtml/rendering/render_block.cpp #1.63:1.64
@ -843,6 +843,15 @ void RenderBlock::layoutBlockChildren( b
// a positioned or floating child.
int fb = floatBottom();
- if ( child->flowAroundFloats() && style()->width().isFixed() && \
child->minWidth() > lineWidth( m_height ) ) {
- if (fb > m_height) {
+ if ( child->flowAroundFloats() && !style()->width().isVariable()) {
+ bool doClear = false;
+ if (child->minWidth() > lineWidth( m_height ))
+ doClear = true;
+ else if (child->style()->width().isPercent()) {
+ int oldw = child->width();
+ child->calcWidth();
+ doClear = (child->width() > lineWidth( m_height ));
+ child->setWidth( oldw );
+ }
+ if (doClear && fb > m_height) {
m_height = fb;
shouldCollapseChild = false;
@ -853,5 +862,5 @ void RenderBlock::layoutBlockChildren( b
// take care in case we inherited floats
- if (fb > m_height)
+ if (fb > m_height && !child->flowAroundFloats())
child->setChildNeedsLayout(true);
_______________________________________________
Konq-bugs mailing list
Konq-bugs@mail.kde.org
https://mail.kde.org/mailman/listinfo/konq-bugs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic