Index: WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- WebCore/rendering/RenderBlock.cpp (revision 68296) |
+++ WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -343,7 +343,7 @@ |
ASSERT(!continuation()); // We don't yet support column spans that aren't immediate children of the multi-column block. |
// The goal is to locate a suitable box in which to place our child. |
- RenderBlock* beforeChildParent = toRenderBlock(beforeChild ? beforeChild->parent() : lastChild()); |
+ RenderBlock* beforeChildParent = toRenderBlock(beforeChild && beforeChild->parent()->isRenderBlock() ? beforeChild->parent() : lastChild()); |
// If the new child is floating or positioned it can just go in that block. |
if (newChild->isFloatingOrPositioned()) |
@@ -620,7 +620,7 @@ |
&& !newChild->isInline() && !isAnonymousColumnSpanBlock()) { |
if (style()->specifiesColumns()) |
columnsBlockAncestor = this; |
- else |
+ else if (parent() && parent()->isRenderBlock()) |
columnsBlockAncestor = toRenderBlock(parent())->containingColumnsBlock(false); |
} |
return columnsBlockAncestor; |
@@ -1017,9 +1017,6 @@ |
// If this was our last child be sure to clear out our line boxes. |
if (childrenInline()) |
lineBoxes()->deleteLineBoxes(renderArena()); |
- // If we're now an empty anonymous columns or column span block, then go ahead and delete ourselves. |
- else if ((isAnonymousColumnsBlock() || isAnonymousColumnSpanBlock()) && parent() && parent()->isRenderBlock() && !continuation()) |
- destroy(); |
} |
} |