Fix for bad invalidation/painting when deleting lines of text at the end of a document or mail message. b=86852 r=alexsavulov sr=waterson

git-svn-id: svn://10.0.0.236/trunk@98694 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
attinasi%netscape.com
2001-07-05 19:26:30 +00:00
parent 47b55cced9
commit bd717c34ab
2 changed files with 14 additions and 10 deletions

View File

@@ -486,14 +486,16 @@ nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext* aPresContext,
} else {
nscoord width, height;
aView->GetDimensions(&width, &height);
// If only the height has changed then repaint only the newly exposed or
// If the height and width are unchanged then repaint only the newly exposed or
// contracted area, otherwise repaint the union of the old and new areas
// XXX: We currently invalidate the newly exposed areas only when the
// container changes height because some frames do not invalidate themselves
// properly. see bug 73825.
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of frameSize.width == width.
vm->ResizeView(aView, frameSize.width, frameSize.height, frameSize.width == width);
// container frame dimensions are unchanged changes because some frames do not
// invalidate themselves properly. see bug 73825.
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of
// frameSize.width == width && frameSize.height == height.
vm->ResizeView(aView, frameSize.width, frameSize.height,
(frameSize.width == width && frameSize.height == height));
}
}

View File

@@ -486,14 +486,16 @@ nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext* aPresContext,
} else {
nscoord width, height;
aView->GetDimensions(&width, &height);
// If only the height has changed then repaint only the newly exposed or
// If the height and width are unchanged then repaint only the newly exposed or
// contracted area, otherwise repaint the union of the old and new areas
// XXX: We currently invalidate the newly exposed areas only when the
// container changes height because some frames do not invalidate themselves
// properly. see bug 73825.
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of frameSize.width == width.
vm->ResizeView(aView, frameSize.width, frameSize.height, frameSize.width == width);
// container frame dimensions are unchanged changes because some frames do not
// invalidate themselves properly. see bug 73825.
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of
// frameSize.width == width && frameSize.height == height.
vm->ResizeView(aView, frameSize.width, frameSize.height,
(frameSize.width == width && frameSize.height == height));
}
}