aboutsummaryrefslogtreecommitdiff
path: root/backends/platform
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform')
-rw-r--r--backends/platform/sdl/sdl.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index f44d87666a..f2bf9590c5 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -754,10 +754,13 @@ int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha) {
if (SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE)) {
return -1;
}
+ SDL_SetSurfaceRLE(surface, 0);
} else {
if (SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_BLEND)) {
return -1;
}
+ if (flag & SDL_RLEACCEL)
+ SDL_SetSurfaceRLE(surface, 1);
}
return 0;
@@ -765,7 +768,13 @@ int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha) {
#undef SDL_SetColorKey
int SDL_SetColorKey_replacement(SDL_Surface *surface, Uint32 flag, Uint32 key) {
- return SDL_SetColorKey(surface, SDL_TRUE, key) ? -1 : 0;
+ if (SDL_SetColorKey(surface, SDL_TRUE, key)) {
+ return -1;
+ }
+
+ if (flag & SDL_RLEACCEL)
+ SDL_SetSurfaceRLE(surface, 1);
+ return 0;
}
#endif