Skip to content
Permalink
Browse files
Quartz fix:
ut2004 makes a 2D window for the splash screen, which sets the screen
surface's pixels field. Then we tear down that video mode and create a GL
context, and the Quartz target isn't resetting the pixels field to NULL.

When you just create a GL window, the structure is memset'd to zero the
first time through, so unless you hit ut2004's codepath, you won't see the
bug.  :)

Without this patch, quitting a windowed ut2003/ut2004 game makes the OS dump a
warning about a bogus free() to stderr, but it doesn't actually crash. All we
need to do is explicitly initialize the current->pixels field.
  • Loading branch information
icculus committed Feb 24, 2004
1 parent 13b994f commit ca9e886b9c94469d8e311b78960de0c434d63261
Showing with 1 addition and 0 deletions.
  1. +1 −0 src/video/quartz/SDL_QuartzVideo.m
@@ -828,6 +828,7 @@ other blitting while waiting on the VBL (and hence results in higher framerates)
int height, int bpp, Uint32 flags) {

current->flags = 0;
current->pixels = NULL;

/* Setup full screen video */
if ( flags & SDL_FULLSCREEN ) {

0 comments on commit ca9e886

Please sign in to comment.