X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.c;h=04cfc0e739fbafa9ca8df4b92d94609e601ec28c;hb=54fc619a9b7dcd29bc8f65fff83e6995378f8ed9;hp=7fb650f1b17e9d6070db72855db59cf9c5e34c61;hpb=368d771258ee3aed9c0713a0998094651eca2504;p=rocksndiamonds.git diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index 7fb650f1..04cfc0e7 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -353,6 +353,11 @@ SDL_Surface *SDLGetNativeSurface(SDL_Surface *surface) if (new_surface == NULL) Error(ERR_EXIT, "SDL_ConvertSurface() failed: %s", SDL_GetError()); + // workaround for a bug in SDL 2.0.12 (which does not convert the color key) + if (SDLHasColorKey(surface) && !SDLHasColorKey(new_surface)) + SDL_SetColorKey(new_surface, SET_TRANSPARENT_PIXEL, + SDLGetColorKey(surface)); + return new_surface; } @@ -2524,7 +2529,7 @@ static void setJoystickButton(int nr, int button_id_raw, int button_state) void HandleJoystickEvent(Event *event) { - switch(event->type) + switch (event->type) { case SDL_CONTROLLERDEVICEADDED: #if DEBUG_JOYSTICKS