Blit RGBA Surface on RGB Surface with colorkey

I’m trying to blit a RGBA surface (A) on a RGB surface with colorkey (B),
these surfaces are 2 images loaded with SDL_Image.
I have tried evey combination of SDL_SetAlpha flags on these surfaces,
but blitting A on B gives wrong/weird results.

The only solution I found is create a new surface © with same B
and A RGBA data, Set C Alpha flags to 0 and then blit B and A on C.

Does exist a better way to solve the problem?–

Davide “M3xican” Coppola

email: dmc at
ICQ: 104241710
MSN: bad_hangover at

Don’t use IE and OE!
Download FireFox and ThunderBird: