refactor: file_getfilebuffer → file_readfile (std::vector<char>) — elimina 3 leaks (paleta + música gameplay + música cinemàtica)
This commit is contained in:
@@ -9,13 +9,13 @@ namespace scenes {
|
||||
|
||||
void playMusic(const char* filename, int loop) {
|
||||
if (!filename) return;
|
||||
int size = 0;
|
||||
char* buffer = file_getfilebuffer(filename, size);
|
||||
if (!buffer) return;
|
||||
// JA_LoadMusic fa una còpia del OGG comprimit (SDL_malloc), així que
|
||||
// el `buffer` original es queda huérfano. Leak conegut heredat del
|
||||
// codi original — es tractarà quan jfile tinga una API std::vector.
|
||||
JA_PlayMusic(JA_LoadMusic(reinterpret_cast<Uint8*>(buffer), size, filename), loop);
|
||||
auto buffer = file_readfile(filename);
|
||||
if (buffer.empty()) return;
|
||||
// JA_LoadMusic fa una còpia interna del OGG comprimit (via SDL_malloc)
|
||||
// per a stb_vorbis. El `buffer` local es destruirà en sortir d'àmbit.
|
||||
JA_PlayMusic(JA_LoadMusic(reinterpret_cast<Uint8*>(buffer.data()),
|
||||
static_cast<Uint32>(buffer.size()), filename),
|
||||
loop);
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
|
||||
Reference in New Issue
Block a user