I think there is a bug in ScrollingDecorator when both the horizontal
and vertical bars are displayed. To see the bug, follow these steps:
- Open a browser and switch to the Class Diagram plugin.
- Select a class like AXTypeInfoObject which has a few subclasses.
- Make the Class Diagram window narrow enough so that both scroll bars
- Try scrolling the vertical scroll bar down.
I am unable to scroll to the bottom. It looks like it scrolls down, but
then jumps back up.
A possible fix is below ... what I found is the vertical scroll does
take place, but is reversed when the complete view re-layout takes
place. I think this is caused when the layoutContext, for the complete
view re-layout, is asked for #clientExtentOf:. The position is already
present in the layout, so it asks the view for
#calcClientRectangleFromRectangle:. This uses the result from
#calcRectangleFromClientRectangle:, however the MSDN docs for
AdjustWindowRect say that it does not take into account the WS_VSCROLL
or WS_HSCROLL styles.