aboutsummaryrefslogtreecommitdiff
path: root/backends/sdl/graphics.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/sdl/graphics.cpp')
-rw-r--r--backends/sdl/graphics.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/backends/sdl/graphics.cpp b/backends/sdl/graphics.cpp
index 775db97ba1..26d59ac653 100644
--- a/backends/sdl/graphics.cpp
+++ b/backends/sdl/graphics.cpp
@@ -870,7 +870,7 @@ void OSystem_SDL::setPalette(const byte *colors, uint start, uint num) {
_paletteDirtyEnd = start + num;
// Some games blink cursors with palette
- if (!_overlayVisible && !_cursorHasOwnPalette)
+ if (!_overlayVisible && (!_cursorHasOwnPalette || _cursorPaletteDisabled))
blitCursor();
}
@@ -886,6 +886,7 @@ void OSystem_SDL::setCursorPalette(const byte *colors, uint start, uint num) {
}
_cursorHasOwnPalette = true;
+ _cursorPaletteDisabled = false;
if (!_overlayVisible)
blitCursor();
@@ -1126,7 +1127,7 @@ void OSystem_SDL::blitCursor() {
for (j = 0; j < w; j++) {
color = *srcPtr;
if (color != _mouseKeyColor) { // transparent, don't draw
- if (_cursorHasOwnPalette && !_overlayVisible)
+ if (_cursorHasOwnPalette && !_overlayVisible && !_cursorPaletteDisabled)
*(uint16 *)dstPtr = SDL_MapRGB(_mouseOrigSurface->format,
_cursorPalette[color].r, _cursorPalette[color].g,
_cursorPalette[color].b);