python-tcod
python-tcod copied to clipboard
SDL_DestroyTexture called with invalid textures
Enabling SDL logging allowed me to track down this error.
https://github.com/libtcod/python-tcod/blob/49ebc65ddf0fb0292f667dca9d43b7d5fe1ca7bd/tcod/sdl/render.py#L316
This line creates a texture and takes ownership, but SDL will sometimes destroy the texture owned by this object, causing SDL_DestroyTexture to fail later and sometimes crash the program.
This issue can crash the samples if you restart the renderer during that program.
I'm noting this now so that I don't forget to fix this. I'll probably have the renderer track its textures with weak references and release ownership of its them when the renderer itself is deleted.