Hi,

In part IV, the GameEngine.CheckForInput method is not prepared to handle Mouse.MouseButtons returning null which is what happens if you lose the device because you reacquire it but don't refresh the _state and _buttonBuffer internal variables.