aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/surfacesdl
diff options
context:
space:
mode:
Diffstat (limited to 'backends/graphics/surfacesdl')
-rw-r--r--backends/graphics/surfacesdl/surfacesdl-graphics.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index 90f9f7e1a1..4a6061c428 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -2366,6 +2366,7 @@ void SurfaceSdlGraphicsManager::removeOSDMessage() {
// Remove the previous message
if (_osdMessageSurface) {
SDL_FreeSurface(_osdMessageSurface);
+ _forceRedraw = true;
}
_osdMessageSurface = NULL;
@@ -2387,7 +2388,6 @@ void SurfaceSdlGraphicsManager::updateOSD() {
_osdMessageAlpha = startAlpha + diff * (SDL_ALPHA_TRANSPARENT - startAlpha) / kOSDFadeOutDuration;
}
SDL_SetAlpha(_osdMessageSurface, SDL_RLEACCEL | SDL_SRCALPHA, _osdMessageAlpha);
- _forceRedraw = true;
}
if (_osdMessageAlpha == SDL_ALPHA_TRANSPARENT) {
@@ -2395,8 +2395,8 @@ void SurfaceSdlGraphicsManager::updateOSD() {
}
}
- if (_osdIconSurface) {
- // Redraw the area below the icon for the transparent blit to give correct results.
+ if (_osdIconSurface || _osdMessageSurface) {
+ // Redraw the area below the icon and message for the transparent blit to give correct results.
_forceRedraw = true;
}
}