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

This commit is contained in:
attinasi%netscape.com 2001-07-05 19:26:30 +00:00
Родитель d6145bbd4b
Коммит ce106c6b3c
2 изменённых файлов: 14 добавлений и 10 удалений

Просмотреть файл

@ -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));
}
}

Просмотреть файл

@ -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));
}
}