OSDN Git Service
updateCheck: Implement the cancel button in the update download dialog.
As part of this, use a timer instead of wx.CallAfter, as it seems wx.ProgressDialog.Update pumps before returning, which means CallAfters can execute within it. Re-entrancy like this causes all sorts of pain here, which is prevented by the timer because timers aren't re-entrant.
This CallAfter problem is probably also what was causing the crash in #2228, as Destroy could be called on the ProgressDialog before Update returned. Nasty.
Fixes #2259.