fixed potential crash when reloading images (safe memory release, avoid double free) .

This commit is contained in:
Zero Fanker 2024-11-02 22:07:55 -04:00
parent 20adb95961
commit 102f919e96
2 changed files with 15 additions and 9 deletions

View file

@ -3888,10 +3888,12 @@ void CLoading::FreeAll()
((LPDIRECTDRAWSURFACE4)i->second.pic)->Release();
}
} else {
if (i->second.pic != NULL) {
delete[] i->second.pic;
if (auto pPic = std::exchange(i->second.pic, nullptr)) {
delete[](pPic);
}
if (auto pBorder = std::exchange(i->second.vborder, nullptr)) {
delete[](pBorder);
}
if (i->second.vborder) delete[] i->second.vborder;
}
#else
if (i->second.pic != NULL) i->second.pic->Release();