Clamp curpos to between its min and max to fix resizing regression. b=333829 Patch from Hideo Saito <saito@densan.co.jp>. r+sr=dbaron

This commit is contained in:
dbaron%dbaron.org 2006-04-16 20:05:30 +00:00
Родитель 978a106e86
Коммит 930ceaebd9
1 изменённых файлов: 6 добавлений и 0 удалений

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

@ -2395,6 +2395,9 @@ nsGfxScrollFrameInner::LayoutScrollbars(nsBoxLayoutState& aState,
NS_PRECONDITION(mVScrollbarBox->IsBoxFrame(), "Must be a box frame!");
nscoord curPosX, curPosY;
scrollable->GetScrollPosition(curPosX, curPosY);
// The current position may have become invalid due to min/max changes.
curPosY = PR_MAX(curPosY, minY);
curPosY = PR_MIN(curPosY, maxY);
// Scrollbars assume zero is the minimum position, so translate for them.
SetScrollbarEnabled(mVScrollbarBox, maxY - minY);
SetCoordAttribute(mVScrollbarBox, nsXULAtoms::maxpos, maxY - minY);
@ -2416,6 +2419,9 @@ nsGfxScrollFrameInner::LayoutScrollbars(nsBoxLayoutState& aState,
NS_PRECONDITION(mHScrollbarBox->IsBoxFrame(), "Must be a box frame!");
nscoord curPosX, curPosY;
scrollable->GetScrollPosition(curPosX, curPosY);
// The current position may have become invalid due to min/max changes.
curPosX = PR_MAX(curPosX, minX);
curPosX = PR_MIN(curPosX, maxX);
// Scrollbars assume zero is the minimum position, so translate for them.
SetScrollbarEnabled(mHScrollbarBox, maxX - minX);
SetCoordAttribute(mHScrollbarBox, nsXULAtoms::maxpos, maxX - minX);