mirror of
https://github.com/yawut/SDL.git
synced 2026-08-27 19:24:30 -05:00
From: Thomas Jarosch
To: Ryan C. Gordon Subject: SDL: DirectFB videodriver segfault Date: Sun, 21 Dec 2003 20:40:14 +0100 Hi Ryan, attached is a patch to fix a segfault in DirectFB_VideoQuit. When SetVideoMode never gets called (f.e. wrong command line arguments for "testsprite"), this->screen->hwdata is NULL. Cheers, Thomas
This commit is contained in:
@@ -1075,14 +1075,21 @@ int DirectFB_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors)
|
||||
void DirectFB_VideoQuit(_THIS)
|
||||
{
|
||||
struct DirectFBEnumRect *rect = enumlist;
|
||||
IDirectFBSurface *surface = this->screen->hwdata->surface;
|
||||
IDirectFBPalette *palette = this->screen->hwdata->palette;
|
||||
|
||||
if (palette)
|
||||
palette->Release (palette);
|
||||
if (this->screen->hwdata)
|
||||
{
|
||||
IDirectFBSurface *surface = this->screen->hwdata->surface;
|
||||
IDirectFBPalette *palette = this->screen->hwdata->palette;
|
||||
|
||||
if (surface)
|
||||
surface->Release (surface);
|
||||
if (palette)
|
||||
palette->Release (palette);
|
||||
|
||||
if (surface)
|
||||
surface->Release (surface);
|
||||
|
||||
this->screen->hwdata->surface = NULL;
|
||||
this->screen->hwdata->palette = NULL;
|
||||
}
|
||||
|
||||
if (HIDDEN->c2frame)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user