| Index: Source/core/rendering/RenderBox.cpp
|
| diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp
|
| index 39befae260204bc7a2b5b40e9d6460cfa6e6109a..e2220e8b0e5e275cd1c6830a5f8959909f04fe5c 100644
|
| --- a/Source/core/rendering/RenderBox.cpp
|
| +++ b/Source/core/rendering/RenderBox.cpp
|
| @@ -1260,9 +1260,12 @@ void RenderBox::imageChanged(WrappedImagePtr image, const IntRect*)
|
| }
|
|
|
| ShapeValue* shapeOutsideValue = style()->shapeOutside();
|
| - if (!frameView()->isInPerformLayout() && isFloating() && shapeOutsideValue && shapeOutsideValue->image() && shapeOutsideValue->image()->data() == image) {
|
| - ShapeOutsideInfo::ensureInfo(*this).markShapeAsDirty();
|
| - markShapeOutsideDependentsForLayout();
|
| + if (isFloating() && shapeOutsideValue && shapeOutsideValue->image() && shapeOutsideValue->image()->data() == image) {
|
| + ShapeOutsideInfo& info = ShapeOutsideInfo::ensureInfo(*this);
|
| + if (!info.isComputingShape()) {
|
| + info.markShapeAsDirty();
|
| + markShapeOutsideDependentsForLayout();
|
| + }
|
| }
|
|
|
| if (!paintInvalidationLayerRectsForImage(image, style()->backgroundLayers(), true))
|
|
|