| Index: Source/core/rendering/InlineFlowBox.cpp
|
| diff --git a/Source/core/rendering/InlineFlowBox.cpp b/Source/core/rendering/InlineFlowBox.cpp
|
| index 5a263d9ab993ecbce0e9aede687c746789aa5438..29646b7702e443f55879940e40f69d1ca32e6e1b 100644
|
| --- a/Source/core/rendering/InlineFlowBox.cpp
|
| +++ b/Source/core/rendering/InlineFlowBox.cpp
|
| @@ -1142,12 +1142,17 @@ void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset,
|
| return;
|
|
|
| PaintPhase paintPhase = paintInfo.phase == PaintPhaseChildOutlines ? PaintPhaseOutline : paintInfo.phase;
|
| - PaintInfo childInfo(paintInfo);
|
| - childInfo.phase = paintPhase;
|
| - childInfo.updatePaintingRootForChildren(&renderer());
|
|
|
| // Paint our children.
|
| if (paintPhase != PaintPhaseSelfOutline) {
|
| + PaintInfo childInfo(paintInfo);
|
| + childInfo.phase = paintPhase;
|
| +
|
| + if (childInfo.paintingRoot && childInfo.paintingRoot->isDescendantOf(&renderer()))
|
| + childInfo.paintingRoot = 0;
|
| + else
|
| + childInfo.updatePaintingRootForChildren(&renderer());
|
| +
|
| for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) {
|
| if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPaintingLayer())
|
| curr->paint(childInfo, paintOffset, lineTop, lineBottom);
|
|
|