Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
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 ff35339
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/video/pandora/SDL_pandora.c
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit ff35339

Please sign in to comment.