mirror of https://github.com/encounter/SDL.git
android: fix wrong events when locking device in landscape (thanks, Joshua!).
"Using an application in portrait orientation, turning off the device would dispatch SDL_APP_WILLENTERBACKGROUND, then SDL_APP_DIDENTERBACKGROUND then lock the screen. However, rotating the application the application to landscape, then turning off the device would incorrectly dispatch SDL_APP_WILLENTERBACKGROUND, SDL_APP_WILLENTERBACKGROUND, SDL_APP_WILLENTERFOREGROUND and then SDL_APP_DIDENTERFOREGROUND before locking the screen. You can imagine how this created trouble :) It appears this occurs because (on this application) turning off a device when in landscape is triggering a resize. The resize logic in SDLActivity triggers a resume. This patch has resolved the issue on my device: It prevents the dispatch of (improper) FOREGROUND events when locking the device, but we get still events when the device is turned back on and unlocked."
This commit is contained in:
parent
7891e72dca
commit
2092a88359
|
@ -1229,7 +1229,7 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
|||
SDLActivity.mSDLThread.start();
|
||||
}
|
||||
|
||||
if (SDLActivity.mHasFocus) {
|
||||
if (SDLActivity.mHasFocus && !SDLActivity.mIsPaused) {
|
||||
SDLActivity.handleResume();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue