instead of the very bottom. Lastly, I'm pretty sure there should be separate nPartialAdjust variables for horz and vert scrolling.
You are right, we do need separate nPartialAdjust. My bad. THe other bug was (half of it) in the old code, when I changed it I noticed the inconsistency, is just that I picked the wrong half :). Thanks for the fix.
This looks good, it should go in.