I am aware they are volatile and that.
I see to use surface_exists and never assume they exist before drawing to them.
To create only in draw not create.
My question was more is there internal data, that might not be freed unless you explicitly call the free.
It says never use a surface if surface_exists is false, but I didn't know whether that meant the free too.
Maybe this is what you have answered, just want to double check :]
So surface is just a id to a surface, no internal data.
So if its volatility kills it, ALL its memory is freed? no surface_free required?