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.
--- a/src/video/quartz/SDL_QuartzVideo.m Mon Feb 23 15:49:28 2004 +0000
+++ b/src/video/quartz/SDL_QuartzVideo.m Tue Feb 24 06:53:22 2004 +0000
@@ -828,6 +828,7 @@
int height, int bpp, Uint32 flags) {
current->flags = 0;
+ current->pixels = NULL;
/* Setup full screen video */
if ( flags & SDL_FULLSCREEN ) {