From bdc4b9689a59b103dac615c5b52b7641e8aaa416 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 28 Jun 2016 01:36:58 +0200 Subject: [PATCH] fixed converting surfaces with alpha channel for SDL 1.2 --- src/libgame/sdl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index 1e479577..72bbc14a 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -340,10 +340,12 @@ SDL_Surface *SDLGetNativeSurface(SDL_Surface *surface) if (surface == NULL) return NULL; - if (video.initialized) - new_surface = SDL_DisplayFormat(surface); - else + if (!video.initialized) new_surface = SDL_ConvertSurface(surface, surface->format, SURFACE_FLAGS); + else if (SDLHasAlpha(surface)) + new_surface = SDL_DisplayFormatAlpha(surface); + else + new_surface = SDL_DisplayFormat(surface); if (new_surface == NULL) Error(ERR_EXIT, "%s() failed: %s", -- 2.34.1