* Set forceDraw to false when we have already drawn the pose, not when
there is only some pending scrolling. * Fixed my previous ScrollTo() change to actually scroll in the two directions in two steps... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30078 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1708,11 +1708,11 @@ BPoseView::CreatePoses(Model **models, PoseInfo *poseInfoArray, int32 count,
|
|||||||
// if new pose above current view bounds, cache up
|
// if new pose above current view bounds, cache up
|
||||||
// the draw and do it later
|
// the draw and do it later
|
||||||
listViewScrollBy += fListElemHeight;
|
listViewScrollBy += fListElemHeight;
|
||||||
forceDraw = false;
|
|
||||||
} else if (!srcRect.IsValid()) {
|
} else if (!srcRect.IsValid()) {
|
||||||
// nothing to be scrolled, but extent became
|
// nothing to be scrolled, but extent became
|
||||||
// visible
|
// visible
|
||||||
SynchronousUpdate(destRect);
|
SynchronousUpdate(destRect);
|
||||||
|
forceDraw = false;
|
||||||
} else {
|
} else {
|
||||||
FinishPendingScroll(listViewScrollBy, viewBounds);
|
FinishPendingScroll(listViewScrollBy, viewBounds);
|
||||||
fPoseList->AddItem(pose, poseIndex);
|
fPoseList->AddItem(pose, poseIndex);
|
||||||
@@ -1720,8 +1720,8 @@ BPoseView::CreatePoses(Model **models, PoseInfo *poseInfoArray, int32 count,
|
|||||||
addedItem = true;
|
addedItem = true;
|
||||||
CopyBits(srcRect, destRect);
|
CopyBits(srcRect, destRect);
|
||||||
srcRect.bottom = destRect.top;
|
srcRect.bottom = destRect.top;
|
||||||
|
|
||||||
SynchronousUpdate(srcRect);
|
SynchronousUpdate(srcRect);
|
||||||
|
forceDraw = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1734,7 +1734,7 @@ BPoseView::CreatePoses(Model **models, PoseInfo *poseInfoArray, int32 count,
|
|||||||
if (!havePoseBounds)
|
if (!havePoseBounds)
|
||||||
poseBounds = CalcPoseRectList(pose, poseIndex);
|
poseBounds = CalcPoseRectList(pose, poseIndex);
|
||||||
if (viewBounds.Intersects(poseBounds))
|
if (viewBounds.Intersects(poseBounds))
|
||||||
Invalidate(poseBounds);
|
SynchronousUpdate(poseBounds);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -8104,7 +8104,7 @@ BPoseView::SetScrollBarsTo(BPoint point)
|
|||||||
// behaviour (BView<->BScrollBar feedback effects) when scrolling
|
// behaviour (BView<->BScrollBar feedback effects) when scrolling
|
||||||
// both directions at once versus separately.
|
// both directions at once versus separately.
|
||||||
BPoint origin = LeftTop();
|
BPoint origin = LeftTop();
|
||||||
ScrollTo(BPoint(point.x, point.y));
|
ScrollTo(BPoint(origin.x, point.y));
|
||||||
ScrollTo(point);
|
ScrollTo(point);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user