Fixed full screen toggling via alt+enter.
svn-id: r34627
This commit is contained in:
parent
af3cbfc32e
commit
f8574c52f8
2 changed files with 11 additions and 10 deletions
|
@ -195,7 +195,9 @@ bool OSystem_SDL::pollEvent(Common::Event &event) {
|
|||
// Alt-Return and Alt-Enter toggle full screen mode
|
||||
if (b == Common::KBD_ALT && (ev.key.keysym.sym == SDLK_RETURN
|
||||
|| ev.key.keysym.sym == SDLK_KP_ENTER)) {
|
||||
beginGFXTransaction();
|
||||
setFullscreenMode(!_fullscreen);
|
||||
endGFXTransaction();
|
||||
#ifdef USE_OSD
|
||||
if (_fullscreen)
|
||||
displayMessageOnOSD("Fullscreen mode");
|
||||
|
|
|
@ -692,19 +692,13 @@ bool OSystem_SDL::saveScreenshot(const char *filename) {
|
|||
void OSystem_SDL::setFullscreenMode(bool enable) {
|
||||
Common::StackLock lock(_graphicsMutex);
|
||||
|
||||
if (_fullscreen != enable && _transactionMode == kTransactionCommit) {
|
||||
if (_fullscreen == enable)
|
||||
return;
|
||||
|
||||
if (_transactionMode == kTransactionCommit) {
|
||||
assert(_hwscreen != 0);
|
||||
_fullscreen = enable;
|
||||
|
||||
if (_transactionMode == kTransactionActive) {
|
||||
_transactionDetails.fs = enable;
|
||||
_transactionDetails.fsChanged = true;
|
||||
|
||||
_transactionDetails.needHotswap = true;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Switch between fullscreen and windowed mode by invoking hotswapGFXMode().
|
||||
// We used to use SDL_WM_ToggleFullScreen() in the past, but this caused various
|
||||
// problems. E.g. on OS X, it was implemented incorrectly for a long time; on
|
||||
|
@ -713,6 +707,11 @@ void OSystem_SDL::setFullscreenMode(bool enable) {
|
|||
// So, we just do it "manually" now. There shouldn't be any drawbacks to that
|
||||
// anyway.
|
||||
hotswapGFXMode();
|
||||
} else if (_transactionMode == kTransactionActive) {
|
||||
_transactionDetails.fs = enable;
|
||||
_transactionDetails.fsChanged = true;
|
||||
|
||||
_transactionDetails.needHotswap = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue