mirror of
https://github.com/yawut/SDL.git
synced 2026-04-23 17:17:41 -05:00
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.
This commit is contained in:
parent
7e05ef1526
commit
63ef94fcf3
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user