[webkit-changes] cvs commit: WebCore/khtml/rendering
render_table.cpp
Beth
bdakin at opensource.apple.com
Tue Dec 13 18:22:03 PST 2005
bdakin 05/12/13 18:22:03
Modified: . ChangeLog
khtml/rendering render_table.cpp
Log:
Bug #:
Revision Changes Path
1.526 +20 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.525
retrieving revision 1.526
diff -u -r1.525 -r1.526
--- ChangeLog 14 Dec 2005 01:14:21 -0000 1.525
+++ ChangeLog 14 Dec 2005 02:21:58 -0000 1.526
@@ -1,3 +1,23 @@
+2005-12-13 Beth Dakin <bdakin at apple.com>
+
+ Reviewed by Hyatt and Darin.
+
+ Fix for <rdar://problem/4335884> REGRESSION: assertion failure
+ after adding DOM element (render_container.cpp:365: beforeChild->
+ parent() == this).
+
+ When adding a child, tables should send the next to last box
+ instead of the last box as beforeChild because that is what
+ RenderContainer::insertChildNode() expects. RenderContainer
+ ::insertChildNode() will not recurse to the correct box for
+ tables because tables won't pass the isAnonymousBlock() check,
+ so tables must send the correct information to start with.
+
+ * khtml/rendering/render_table.cpp:
+ (RenderTable::addChild): Keep track of the nextToLastBox and
+ send that one to the other addChild() functions instead of the
+ lastBox.
+
=== Safari-521~5 ===
2005-12-13 Timothy Hatcher <timothy at apple.com>
1.144 +5 -2 WebCore/khtml/rendering/render_table.cpp
Index: render_table.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_table.cpp,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -r1.143 -r1.144
--- render_table.cpp 3 Dec 2005 02:28:59 -0000 1.143
+++ render_table.cpp 14 Dec 2005 02:22:03 -0000 1.144
@@ -140,11 +140,14 @@
o = lastChild();
} else {
RenderObject *lastBox = beforeChild;
+ RenderObject *nextToLastBox = beforeChild;
while (lastBox && lastBox->parent()->isAnonymous() &&
- !lastBox->isTableSection() && lastBox->style()->display() != TABLE_CAPTION)
+ !lastBox->isTableSection() && lastBox->style()->display() != TABLE_CAPTION) {
+ nextToLastBox = lastBox;
lastBox = lastBox->parent();
+ }
if (lastBox && lastBox->isAnonymous()) {
- lastBox->addChild(child, beforeChild);
+ lastBox->addChild(child, nextToLastBox);
return;
} else {
if (beforeChild && !beforeChild->isTableSection())
More information about the webkit-changes
mailing list