Index: Source/core/rendering/RenderBox.cpp |
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
index 29e40774a237cc6b21d47862cd77cb84fe2c6a60..222c6d9635e93f141fe0233154b8038d77c73a2e 100644 |
--- a/Source/core/rendering/RenderBox.cpp |
+++ b/Source/core/rendering/RenderBox.cpp |
@@ -105,11 +105,21 @@ void RenderBox::willBeDestroyed() |
RenderBlock::removePercentHeightDescendantIfNeeded(this); |
- ShapeOutsideInfo::removeInfo(*this); |
+ clearShapeOutside(); |
RenderBoxModelObject::willBeDestroyed(); |
} |
+void RenderBox::clearShapeOutside() |
+{ |
+ if (const ShapeValue* shapeValue = style() ? style()->shapeOutside() : 0) { |
+ if (StyleImage* shapeImage = shapeValue->image()) |
+ shapeImage->removeClient(this); |
+ } |
+ |
+ ShapeOutsideInfo::removeInfo(*this); |
+} |
+ |
void RenderBox::removeFloatingOrPositionedChildFromBlockLists() |
{ |
ASSERT(isFloatingOrOutOfFlowPositioned()); |