diff --git a/mozilla/layout/generic/nsBlockFrame.cpp b/mozilla/layout/generic/nsBlockFrame.cpp index fe6b288bce8..8893c414086 100644 --- a/mozilla/layout/generic/nsBlockFrame.cpp +++ b/mozilla/layout/generic/nsBlockFrame.cpp @@ -2780,13 +2780,18 @@ nsBlockFrame::SlideLine(nsBlockReflowState& aState, { NS_PRECONDITION(aDY != 0, "why slide a line nowhere?"); - PRBool doInvalidate = !aLine->mBounds.IsEmpty(); + nsRect lineCombinedArea; + aLine->GetCombinedArea(&lineCombinedArea); + + PRBool doInvalidate = !lineCombinedArea.IsEmpty(); if (doInvalidate) - Invalidate(aState.mPresContext, aLine->mBounds); + Invalidate(aState.mPresContext, lineCombinedArea); // Adjust line state aLine->SlideBy(aDY); - if (doInvalidate) - Invalidate(aState.mPresContext, aLine->mBounds); + if (doInvalidate) { + aLine->GetCombinedArea(&lineCombinedArea); + Invalidate(aState.mPresContext, lineCombinedArea); + } // Adjust the frames in the line nsIFrame* kid = aLine->mFirstChild; diff --git a/mozilla/layout/html/base/src/nsBlockFrame.cpp b/mozilla/layout/html/base/src/nsBlockFrame.cpp index fe6b288bce8..8893c414086 100644 --- a/mozilla/layout/html/base/src/nsBlockFrame.cpp +++ b/mozilla/layout/html/base/src/nsBlockFrame.cpp @@ -2780,13 +2780,18 @@ nsBlockFrame::SlideLine(nsBlockReflowState& aState, { NS_PRECONDITION(aDY != 0, "why slide a line nowhere?"); - PRBool doInvalidate = !aLine->mBounds.IsEmpty(); + nsRect lineCombinedArea; + aLine->GetCombinedArea(&lineCombinedArea); + + PRBool doInvalidate = !lineCombinedArea.IsEmpty(); if (doInvalidate) - Invalidate(aState.mPresContext, aLine->mBounds); + Invalidate(aState.mPresContext, lineCombinedArea); // Adjust line state aLine->SlideBy(aDY); - if (doInvalidate) - Invalidate(aState.mPresContext, aLine->mBounds); + if (doInvalidate) { + aLine->GetCombinedArea(&lineCombinedArea); + Invalidate(aState.mPresContext, lineCombinedArea); + } // Adjust the frames in the line nsIFrame* kid = aLine->mFirstChild;