Index: Source/WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderBlock.cpp (revision 86001) |
+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -3166,10 +3166,18 @@ |
// accomplished by pretending they have a height of 1. |
logicalBottom = max(logicalBottom, logicalTop + 1); |
} |
+ if (r->m_originatingLine) { |
+ ASSERT(r->m_originatingLine->renderer() == this); |
+ r->m_originatingLine->markDirty(); |
+#if !ASSERT_DISABLED |
+ r->m_originatingLine = 0; |
+#endif |
+ } |
markLinesDirtyInBlockRange(0, logicalBottom); |
} |
m_floatingObjects->decreaseObjectsCount(r->type()); |
floatingObjectSet.remove(it); |
+ ASSERT(!r->m_originatingLine); |
delete r; |
} |
} |
@@ -3185,6 +3193,7 @@ |
while (curr != lastFloat && (!curr->isPlaced() || logicalTopForFloat(curr) >= logicalOffset)) { |
m_floatingObjects->decreaseObjectsCount(curr->type()); |
floatingObjectSet.removeLast(); |
+ ASSERT(!curr->m_originatingLine); |
delete curr; |
curr = floatingObjectSet.last(); |
} |
@@ -3622,6 +3631,10 @@ |
} |
floatMap.remove(f->m_renderer); |
+ if (oldFloatingObject->m_originatingLine) { |
+ ASSERT(oldFloatingObject->m_originatingLine->renderer() == this); |
+ oldFloatingObject->m_originatingLine->markDirty(); |
+ } |
delete oldFloatingObject; |
} else { |
changeLogicalTop = 0; |