The code that checks for updates eventually leads to a crash if the program is left unattended, because it checks every 20 minutes for updates, pops up a message box that there's an update (assuming there is one), then goes into a message loop waiting for a reply to the message box. Then 20 minutes later, another update check is performed, etc. Eventually this leads to a stack overflow (within a day in the debug version of the application). This has probably been the cause of a lot of the crash reports we've been receiving that we couldn't interpret. As a quick workaround, I've upped the check time from every 20 minutes to once a day. This needs to be fixed so that we won't check for another update while waiting for a response from user to a previous notification. Also, I think it would be better if we didn't actually prompt the user, but just showed some kind of status message that notifies about the update and the user could click on it if they want to update, so that this notification is less intrusive.
Shut down logging prior to exiting the GUI client to prevent intermittent crashes in Wallet GUI during shutdown (this corresponds to a similar change that was already made previously in the bitshares command-line client).