Mercurial > sdl-ios-xcode
view docs/man3/SDL_CDOpen.3 @ 3238:96492d29034a
David Carre to Sam
When i call the "SDL_Quit()" function, it call the func "SDL_QuitSubSystem(SDL_INIT_EVERYTHING)", which call the "SDL_VideoQuit()" function.
It's where i'm lost, this function "SDL_VideoQuit()" will recall the "SDL_Quit()" function (i don't find where it is called), which in turn recall the "SDL_QuitSubSystem(SDL_INIT_EVERYTHING)", which in turn recall "SDL_VideoQuit()", which cause a "double free" seg fault since it has been already called.
I have set the num_displays to 0 instead of 1, so it wont free it twice in the videoquit function loop.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 18 Aug 2009 03:26:53 +0000 |
parents | 546f7c1eb755 |
children | 1238da4a7112 |
line wrap: on
line source
.TH "SDL_CDOpen" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" .SH "NAME" SDL_CDOpen \- Opens a CD-ROM drive for access\&. .SH "SYNOPSIS" .PP \fB#include "SDL\&.h" .sp \fBSDL_CD *\fBSDL_CDOpen\fP\fR(\fBint drive\fR); .SH "DESCRIPTION" .PP Opens a CD-ROM drive for access\&. It returns a \fI\fBSDL_CD\fR\fR structure on success, or \fBNULL\fP if the drive was invalid or busy\&. This newly opened CD-ROM becomes the default CD used when other CD functions are passed a \fBNULL\fP CD-ROM handle\&. .PP Drives are numbered starting with 0\&. Drive 0 is the system default CD-ROM\&. .SH "EXAMPLES" .PP .nf \f(CWSDL_CD *cdrom; int cur_track; int min, sec, frame; SDL_Init(SDL_INIT_CDROM); atexit(SDL_Quit); /* Check for CD drives */ if(!SDL_CDNumDrives()){ /* None found */ fprintf(stderr, "No CDROM devices available "); exit(-1); } /* Open the default drive */ cdrom=SDL_CDOpen(0); /* Did if open? Check if cdrom is NULL */ if(!cdrom){ fprintf(stderr, "Couldn\&'t open drive: %s ", SDL_GetError()); exit(-1); } /* Print Volume info */ printf("Name: %s ", SDL_CDName(0)); printf("Tracks: %d ", cdrom->numtracks); for(cur_track=0;cur_track < cdrom->numtracks; cur_track++){ FRAMES_TO_MSF(cdrom->track[cur_track]\&.length, &min, &sec, &frame); printf(" Track %d: Length %d:%d ", cur_track, min, sec); } SDL_CDClose(cdrom);\fR .fi .PP .SH "SEE ALSO" .PP \fI\fBSDL_CD\fR\fR, \fI\fBSDL_CDtrack\fR\fR, \fI\fBSDL_CDClose\fP\fR ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58