Quartz fix:
authorRyan C. Gordon <icculus@icculus.org>
Tue, 24 Feb 2004 06:53:22 +0000
changeset 8522651b6b43840
parent 851 2687d28166d2
child 853 dddfc37e1f65
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.
src/video/quartz/SDL_QuartzVideo.m
     1.1 --- a/src/video/quartz/SDL_QuartzVideo.m	Mon Feb 23 15:49:28 2004 +0000
     1.2 +++ b/src/video/quartz/SDL_QuartzVideo.m	Tue Feb 24 06:53:22 2004 +0000
     1.3 @@ -828,6 +828,7 @@
     1.4                                       int height, int bpp, Uint32 flags) {
     1.5  
     1.6      current->flags = 0;
     1.7 +    current->pixels = NULL;
     1.8  
     1.9      /* Setup full screen video */
    1.10      if ( flags & SDL_FULLSCREEN ) {