From 4048e741bb73da1bee4c8260a4ceaa41b0f7ff4d Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Sat, 31 Jan 2026 06:09:01 +0100 Subject: [PATCH] TextureLoader: unlock surface on failure paths (#775) --- extensions/src/textureloader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extensions/src/textureloader.cpp b/extensions/src/textureloader.cpp index 73f42ad8..d46485e1 100644 --- a/extensions/src/textureloader.cpp +++ b/extensions/src/textureloader.cpp @@ -64,6 +64,7 @@ bool TextureLoader::PatchTexture(LegoTextureInfo* p_textureInfo) if (details->bits_per_pixel == 8) { SDL_Palette* sdlPalette = SDL_GetSurfacePalette(surface); if (!sdlPalette) { + p_textureInfo->m_surface->Unlock(desc.lpSurface); SDL_DestroySurface(surface); return false; } @@ -78,6 +79,7 @@ bool TextureLoader::PatchTexture(LegoTextureInfo* p_textureInfo) LPDIRECTDRAWPALETTE ddPalette = nullptr; if (pDirectDraw->CreatePalette(DDPCAPS_8BIT | DDPCAPS_ALLOW256, entries, &ddPalette, NULL) != DD_OK) { + p_textureInfo->m_surface->Unlock(desc.lpSurface); SDL_DestroySurface(surface); return false; }