Index: Source/core/rendering/RenderListItem.cpp |
diff --git a/Source/core/rendering/RenderListItem.cpp b/Source/core/rendering/RenderListItem.cpp |
index fd911150e8566d48e3f436e4d2474847e1fd00e5..f6e8b409800c64ae16a3644b0e3945a7f4598f55 100644 |
--- a/Source/core/rendering/RenderListItem.cpp |
+++ b/Source/core/rendering/RenderListItem.cpp |
@@ -268,32 +268,34 @@ void RenderListItem::updateMarkerLocation() |
{ |
// Sanity check the location of our marker. |
if (m_marker) { |
- RenderObject* markerPar = m_marker->parent(); |
+ RenderObject* markerParent = m_marker->parent(); |
RenderObject* lineBoxParent = getParentOfFirstLineBox(this, m_marker); |
if (!lineBoxParent) { |
// If the marker is currently contained inside an anonymous box, |
// then we are the only item in that anonymous box (since no line box |
// parent was found). It's ok to just leave the marker where it is |
// in this case. |
- if (markerPar && markerPar->isAnonymousBlock()) |
- lineBoxParent = markerPar; |
+ if (markerParent && markerParent->isAnonymousBlock()) |
+ lineBoxParent = markerParent; |
else |
lineBoxParent = this; |
} |
- if (markerPar != lineBoxParent || m_marker->preferredLogicalWidthsDirty()) { |
+ if (markerParent != lineBoxParent || m_marker->preferredLogicalWidthsDirty()) { |
// Removing and adding the marker can trigger repainting in |
// containers other than ourselves, so we need to disable LayoutState. |
LayoutStateDisabler layoutStateDisabler(view()); |
updateFirstLetter(); |
m_marker->remove(); |
+ if (markerParent) |
+ markerParent->dirtyLinesFromChangedChild(m_marker); |
if (!lineBoxParent) |
lineBoxParent = this; |
lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent)); |
m_marker->updateMarginsAndContent(); |
- // If markerPar is an anonymous block that has lost all its children, destroy it. |
- if (markerPar && markerPar->isAnonymousBlock() && !markerPar->firstChild() && !toRenderBlock(markerPar)->continuation()) |
- markerPar->destroy(); |
+ // If markerParent is an anonymous block that has lost all its children, destroy it. |
+ if (markerParent && markerParent->isAnonymousBlock() && !markerParent->firstChild() && !toRenderBlock(markerParent)->continuation()) |
+ markerParent->destroy(); |
} |
} |
} |