Fixed crash when using double-buffering with DGA

This commit is contained in:
Sam Lantinga
2001-09-30 20:19:20 +00:00
parent 7fecde14df
commit 2f093a6d0d

View File

@@ -531,7 +531,6 @@ SDL_Surface *DGA_SetVideoMode(_THIS, SDL_Surface *current,
flip_address[1] = memory_base+screen_len;
surfaces_mem += screen_len;
surfaces_len -= screen_len;
DGA_FlipHWSurface(this, current);
}
}
@@ -542,6 +541,13 @@ SDL_Surface *DGA_SetVideoMode(_THIS, SDL_Surface *current,
}
DGA_InitHWSurfaces(this, current, surfaces_mem, surfaces_len);
/* Expose the back buffer as surface memory */
if ( current->flags & SDL_DOUBLEBUF ) {
this->screen = current;
DGA_FlipHWSurface(this, current);
this->screen = NULL;
}
/* Set the update rectangle function */
this->UpdateRects = DGA_DirectUpdate;