Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

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.
  • Loading branch information
slouken committed Aug 18, 2009
1 parent 4600b5b commit ff3533994aab81bdf97085f4273985317ce4480b
Showing with 4 additions and 2 deletions.
  1. +4 −2 src/video/pandora/SDL_pandora.c
@@ -91,8 +91,8 @@ PND_create()


/* Setup amount of available displays and current display */
device->num_displays = 1;
device->current_display = 1;
device->num_displays = 0;
device->current_display = 0;

/* Set device free function */
device->free = PND_destroy;
@@ -323,6 +323,8 @@ PND_restorewindow(_THIS, SDL_Window * window)
void
PND_setwindowgrab(_THIS, SDL_Window * window)
{
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
eglTerminate(phdata->egl_display);
}
void
PND_destroywindow(_THIS, SDL_Window * window)

0 comments on commit ff35339

Please sign in to comment.