Having now actually tested this, I found I'd swapped the arguments in the callbacks in 2 3 and 8. Oops. Also, rebased against master to compensate for vidmode's code motion. - ajax