If a double-buffered surface was requested, and a plain hardware surface
authorSam Lantinga <slouken@libsdl.org>
Sun, 26 Jan 2003 04:30:18 +0000
changeset 580 be6495850a62
parent 579 70fa3e489399
child 581 844addcf125e
If a double-buffered surface was requested, and a plain hardware surface was returned, we should create a shadow surface.
src/video/SDL_video.c
--- a/src/video/SDL_video.c	Tue Jan 21 09:36:41 2003 +0000
+++ b/src/video/SDL_video.c	Sun Jan 26 04:30:18 2003 +0000
@@ -836,7 +836,10 @@
 		   as soon as they are performed, so we need to buffer them
 		 */
 	     (   ((flags&SDL_HWSURFACE) == SDL_SWSURFACE) &&
-				(SDL_VideoSurface->flags&SDL_HWSURFACE))
+				(SDL_VideoSurface->flags&SDL_HWSURFACE)) ||
+	     (   (flags&SDL_DOUBLEBUF) &&
+				(SDL_VideoSurface->flags&SDL_HWSURFACE) &&
+				!(SDL_VideoSurface->flags&SDL_DOUBLEBUF))
 	     ) ) {
 		SDL_CreateShadowSurface(bpp);
 		if ( SDL_ShadowSurface == NULL ) {