Fix picking crashes

The surface list is only valid after repaint, so we need to do picking and
input delivery there.
2 files changed