I have a viewport and a registered componentListener on the viewed component.
Sometimes the componentMovedOrResized() does not get triggered upon resizing (decreasing width) of the viewed component.
I call viewedCompnent.setSize() and then I call viewport->setViewPosition() so maybe the setViewPosition() causes cancellation of pending asynchronous
I bypassed this problem by explicitly calling viewedComponent.componentMovedOrResized(*this,false,true) right after the setSize().
Edit: happens both in Windows and Mac.