OPENGL: Cleanup switchDisplayMode.

This commit is contained in:
Johannes Schickel 2011-03-17 20:35:04 +01:00
parent f490e6f361
commit 8d35d91bdf
2 changed files with 14 additions and 11 deletions

View File

@ -1376,19 +1376,19 @@ const char *OpenGLGraphicsManager::getCurrentModeName() {
}
void OpenGLGraphicsManager::switchDisplayMode(int mode) {
if (_oldVideoMode.setup && _oldVideoMode.mode == mode)
assert(_transactionMode == kTransactionActive);
if (_videoMode.mode == mode)
return;
if (_transactionMode == kTransactionActive) {
if (mode == -1) // If -1, switch to next mode
_videoMode.mode = (_videoMode.mode + 1) % 4;
else if (mode == -2) // If -2, switch to previous mode
_videoMode.mode = (_videoMode.mode + 3) % 4;
else
_videoMode.mode = mode;
if (mode == -1) // If -1, switch to next mode
_videoMode.mode = (_videoMode.mode + 1) % 4;
else if (mode == -2) // If -2, switch to previous mode
_videoMode.mode = (_videoMode.mode + 3) % 4;
else
_videoMode.mode = mode;
_transactionDetails.needRefresh = true;
}
_transactionDetails.needRefresh = true;
}
#ifdef USE_OSD

View File

@ -219,7 +219,10 @@ protected:
/**
* Sets the dispaly mode.
* @mode the dispaly mode, if -1 it will switch to next mode. If -2 to previous mode.
*
* This can only be used in a GFX transaction.
*
* @param mode the dispaly mode, if -1 it will switch to next mode. If -2 to previous mode.
*/
virtual void switchDisplayMode(int mode);