Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WinRT: Made app-backgrounded events get sent at separate, distinct ti…
…mes. SDL_APP_WILLENTERBACKGROUND is now sent as soon as the app is told that it is about to go to the background. SDL_APP_DIDENTERBACKGROUND is sent via a WinRT 'deferral operation', which is how WinRT gives apps a bit of extra time (multiple seconds worth) to prepare for an app-backgrounding. The distinction may be important as the deferral operation's code is always run in a separate thread. For Direct3D-only apps, this means that between the two SDL app-backgrounded events, SDL_APP_WILLENTERBACKGROUND will be the only one run from the main thread. Given that some WinRT operations can only be done on the main thread (operations to the CoreWindow fall into this category), this could be important. It is important to note that pre-deferral code may only have a very short bit of time to execute code, less so than code run in the deferral operation (where SDL_APP_DIDENTERBACKGROUND is sent from), which usually gets several seconds to run.
- Loading branch information