Why was the FIXME comment there to begin with?  Can the visibleCenter differ from the viewportRect.center().y() by more than the overlapping height/2 ?