diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c index f4a014e85..678fdc291 100644 --- a/src/video/SDL_surface.c +++ b/src/video/SDL_surface.c @@ -1193,6 +1193,10 @@ SDL_FreeSurface(SDL_Surface * surface) if (surface->flags & SDL_DONTFREE) { return; } + if (surface->map != NULL) { + SDL_FreeBlitMap(surface->map); + surface->map = NULL; + } if (--surface->refcount > 0) { return; } @@ -1207,10 +1211,6 @@ SDL_FreeSurface(SDL_Surface * surface) SDL_FreeFormat(surface->format); surface->format = NULL; } - if (surface->map != NULL) { - SDL_FreeBlitMap(surface->map); - surface->map = NULL; - } if (!(surface->flags & SDL_PREALLOC)) { SDL_free(surface->pixels); }