fix(textures): guard StitchedTexture frame cleanup for SimpleIcon instances

This commit is contained in:
MatthewBeshay 2026-03-23 09:04:45 +11:00
parent e6e8db7ae9
commit b6efb6265d

View file

@ -42,20 +42,29 @@ StitchedTexture::StitchedTexture(const std::wstring& name,
} }
void StitchedTexture::freeFrameTextures() { void StitchedTexture::freeFrameTextures() {
if (frames) { if (frames != NULL) {
for (AUTO_VAR(it, frames->begin()); it != frames->end(); ++it) { for (AUTO_VAR(it, frames->begin()); it != frames->end(); ++it) {
TextureManager::getInstance()->unregisterTexture(L"", *it); TextureManager::getInstance()->unregisterTexture(L"", *it);
delete *it; delete *it;
} }
delete frames; delete frames;
frames = NULL;
} }
} }
StitchedTexture::~StitchedTexture() { StitchedTexture::~StitchedTexture() {
for (AUTO_VAR(it, frames->begin()); it != frames->end(); ++it) { if (frames != NULL) {
delete *it; for (AUTO_VAR(it, frames->begin()); it != frames->end(); ++it) {
delete *it;
}
delete frames;
frames = NULL;
}
if (frameOverride != NULL) {
delete frameOverride;
frameOverride = NULL;
} }
delete frames;
} }
void StitchedTexture::initUVs(float U0, float V0, float U1, float V1) { void StitchedTexture::initUVs(float U0, float V0, float U1, float V1) {