Surfaces that were previously locked using SDL_LockSurface must be unlocked with SDL_UnlockSurface. Surfaces should be unlocked as soon as
possible.
It should be noted that since 1.1.8, surface locks are recursive. See SDL_LockSurface.