[webkit-changes] cvs commit: WebCore/khtml/rendering
render_block.cpp
Beth
bdakin at opensource.apple.com
Fri Oct 21 15:49:22 PDT 2005
bdakin 05/10/21 15:49:22
Modified: . ChangeLog
khtml/rendering render_block.cpp
Log:
Bug #:
Revision Changes Path
1.257 +18 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.256
retrieving revision 1.257
diff -u -r1.256 -r1.257
--- ChangeLog 21 Oct 2005 22:45:50 -0000 1.256
+++ ChangeLog 21 Oct 2005 22:49:18 -0000 1.257
@@ -8,6 +8,24 @@
2005-10-21 Beth Dakin <bdakin at apple.com>
+ Reviewed by Hyatt
+
+ Fix for <rdar://problem/3847926> crash due to infinite
+ layout regression in RenderLayer::updateScrollInfoAfterLayout
+ (was at ourmedia.org)
+
+ Cannot use hasOverhangingFloats() in this case because
+ borderBottom() has already been added into m_height.
+ This was causing m_height to be off by a pixel in some
+ cases and then causing infinite recursion in the scroll
+ bar code.
+
+ * khtml/rendering/render_block.cpp: Replaced call to
+ hasOverhangingFloats()
+ (khtml::RenderBlock::layoutBlock):
+
+2005-10-21 Beth Dakin <bdakin at apple.com>
+
Reviewed by Hyatt...sort of.
No test cases added.
1.211 +2 -2 WebCore/khtml/rendering/render_block.cpp
Index: render_block.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_block.cpp,v
retrieving revision 1.210
retrieving revision 1.211
diff -u -r1.210 -r1.211
--- render_block.cpp 18 Oct 2005 03:15:30 -0000 1.210
+++ render_block.cpp 21 Oct 2005 22:49:21 -0000 1.211
@@ -509,8 +509,8 @@
int toAdd = borderBottom() + paddingBottom();
if (includeScrollbarSize())
toAdd += m_layer->horizontalScrollbarHeight();
- if ( hasOverhangingFloats() && (isInlineBlockOrInlineTable() || isFloatingOrPositioned() || hasOverflowClip() ||
- (parent() && parent()->isFlexibleBox())) )
+ if (floatBottom() > (m_height - toAdd) && (isInlineBlockOrInlineTable() || isFloatingOrPositioned() || hasOverflowClip() ||
+ (parent() && parent()->isFlexibleBox())))
m_height = floatBottom() + toAdd;
int oldHeight = m_height;
More information about the webkit-changes
mailing list