Quartz fix:
authorRyan C. Gordon <icculus@icculus.org>
Tue, 24 Feb 2004 06:53:22 +0000
changeset 852 2651b6b43840
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
--- 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 ) {