sgp.cpp held two of these. One was a file-scope vfs::FileLogger* that was
never assigned, whose only other mention was a delete in shutdown that
could therefore never fire; it goes. The other is the adapter VFS actually
logs through, which was a bare new that nothing freed.
Make that one a function-local static rather than a scoped object. VFS
keeps the bare pointer and still logs from the shutdown that atexit runs
after WinMain has returned, so the adapter has to outlive the frame it is
declared in. Constructing it before InitializeStandardGamingPlatform
registers that handler is what puts its destructor after the handler
rather than before it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>