Fixed bug 3852 - SDL_FreeSurface deallocates surface->map even if the surface is not yet freed
Evgeny Kapun Commit 52dcef74bdc5 [1], which was a fix for bug #3790, introduced a new bug: now, calling SDL_FreeSurface(surface) deallocates surface->map even if there are other references to the surface. This is bad, because some functions (such as SDL_ConvertSurface) assume that surface->map is not NULL.
This commit is contained in:
parent
157ff58212
commit
1b2b7b2bfe
1 changed files with 2 additions and 4 deletions
|
@ -1198,10 +1198,8 @@ SDL_FreeSurface(SDL_Surface * surface)
|
|||
if (surface->flags & SDL_DONTFREE) {
|
||||
return;
|
||||
}
|
||||
if (surface->map != NULL) {
|
||||
SDL_FreeBlitMap(surface->map);
|
||||
surface->map = NULL;
|
||||
}
|
||||
SDL_InvalidateMap(surface->map);
|
||||
|
||||
if (--surface->refcount > 0) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue