diff src/video/SDL_video.c @ 580:be6495850a62

If a double-buffered surface was requested, and a plain hardware surface was returned, we should create a shadow surface.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 26 Jan 2003 04:30:18 +0000
parents 969fbd4dcd4e
children 95433459fbd2
line wrap: on
line diff
--- 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 ) {