Mercurial > sdl-ios-xcode
view test/testtypes.c @ 852:2651b6b43840
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.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 24 Feb 2004 06:53:22 +0000 |
parents | 45b1c4303f87 |
children | d93862a3d821 |
line wrap: on
line source
#include <stdio.h> #include "SDL_main.h" #include "SDL_types.h" int main(int argc, char *argv[]) { int error = 0; int verbose = 1; if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) verbose = 0; if ( sizeof(Uint8) != 1 ) { if ( verbose ) printf("sizeof(Uint8) != 1, instead = %d\n", sizeof(Uint8)); ++error; } if ( sizeof(Uint16) != 2 ) { if ( verbose ) printf("sizeof(Uint16) != 2, instead = %d\n", sizeof(Uint16)); ++error; } if ( sizeof(Uint32) != 4 ) { if ( verbose ) printf("sizeof(Uint32) != 4, instead = %d\n", sizeof(Uint32)); ++error; } #ifdef SDL_HAS_64BIT_TYPE if ( sizeof(Uint64) != 8 ) { if ( verbose ) printf("sizeof(Uint64) != 8, instead = %d\n", sizeof(Uint64)); ++error; } #else if ( verbose ) { printf("WARNING: No 64-bit datatype on this platform\n"); } #endif if ( verbose && ! error ) printf("All data types are the expected size.\n"); return( error ? 1 : 0 ); }