SDL_CreateRGBSurface bug?

Greetings,

Found in SDL_Surface.c,

SDL_Surface * SDL_CreateRGBSurface (...)

on line 112

...

/* Get the pixels */
if ( ((flags&SDL_HWSURFACE) == SDL_SWSURFACE) || 
	(video->AllocHWSurface(this, surface) < 0) ) {

...


Should this read:

if ( ((flags & SDL_SWSURFACE) == SDL_SWSURFACE) || 


i don't fully understand the code but it is inconsistent with all 

the other flag masks i’ve seen so far and could easisly have been
overlooked during coding so i thought i should at least point it out.

IMHO large funtions such as this one need more remarks. it aids 

debugging by people who aren’t familiar with the code (allowing them to
debug SDL more easily) and also helps ferret out weirdness through
contradiction.

thank you.

-dv

Should this read:

if ( ((flags & SDL_SWSURFACE) == SDL_SWSURFACE) ||

No, SDL_SWSURFACE is 0. Humph.

i don’t fully understand the code but it is inconsistent with all
the other flag masks i’ve seen so far and could easisly have been
overlooked during coding so i thought i should at least point it out.

Thanks, I appreciate it. :slight_smile:

See ya,
-Sam Lantinga, Lead Programmer, Loki Entertainment Software