aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/graphics/opengl/opengl-graphics.cpp10
-rw-r--r--backends/graphics/openglsdl/openglsdl-graphics.cpp2
2 files changed, 11 insertions, 1 deletions
diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp
index f9b39ee524..e37cb8626d 100644
--- a/backends/graphics/opengl/opengl-graphics.cpp
+++ b/backends/graphics/opengl/opengl-graphics.cpp
@@ -931,8 +931,16 @@ void OpenGLGraphicsManager::setScale(int newScale) {
if (newScale == _videoMode.scaleFactor)
return;
- _videoMode.scaleFactor = newScale;
+ switch (newScale) {
+ case OpenGL::GFX_NORMAL:
+ _videoMode.mode = OpenGL::GFX_NORMAL;
+ case OpenGL::GFX_DOUBLESIZE:
+ _videoMode.mode = OpenGL::GFX_DOUBLESIZE;
+ case OpenGL::GFX_TRIPLESIZE:
+ _videoMode.mode = OpenGL::GFX_TRIPLESIZE;
+ }
+ _videoMode.scaleFactor = newScale;
_transactionDetails.sizeChanged = true;
}
diff --git a/backends/graphics/openglsdl/openglsdl-graphics.cpp b/backends/graphics/openglsdl/openglsdl-graphics.cpp
index 6f2ba0df9c..95c9b772c7 100644
--- a/backends/graphics/openglsdl/openglsdl-graphics.cpp
+++ b/backends/graphics/openglsdl/openglsdl-graphics.cpp
@@ -183,6 +183,8 @@ bool OpenGLSdlGraphicsManager::loadGFXMode() {
_videoMode.hardwareWidth = bestMode->w;
_videoMode.hardwareHeight = bestMode->h;
} else {
+ if (_oldVideoMode.fullscreen)
+ return false;
_videoMode.fullscreen = false;
}
}