diff --git a/MissionEditor/Loading.cpp b/MissionEditor/Loading.cpp index 50c3478..8c94902 100644 --- a/MissionEditor/Loading.cpp +++ b/MissionEditor/Loading.cpp @@ -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(); diff --git a/MissionEditor/MapData.cpp b/MissionEditor/MapData.cpp index ad12da7..01d03e2 100644 --- a/MissionEditor/MapData.cpp +++ b/MissionEditor/MapData.cpp @@ -618,10 +618,12 @@ void CMapData::LoadMap(const std::string& file) ((LPDIRECTDRAWSURFACE4)it->second.pic)->Release(); } } else { - if (it->second.pic != NULL) { - delete[] it->second.pic; + if (auto pPic = std::exchange(it->second.pic, nullptr)) { + delete[](pPic); + } + if (auto pBorder = std::exchange(it->second.vborder, nullptr)) { + delete[](pBorder); } - if (it->second.vborder) delete[] it->second.vborder; } #else if (it->second.pic != NULL) it->second.pic->Release(); @@ -3791,10 +3793,12 @@ void CMapData::CreateMap(DWORD dwWidth, DWORD dwHeight, LPCTSTR lpTerrainType, D ((LPDIRECTDRAWSURFACE4)it->second.pic)->Release(); } } else { - if (it->second.pic != NULL) { - delete[] it->second.pic; + if (auto pPic = std::exchange(it->second.pic, nullptr)) { + delete[](pPic); + } + if (auto pBorder = std::exchange(it->second.vborder, nullptr)) { + delete[](pBorder); } - if (it->second.vborder) delete[] it->second.vborder; } #else if (it->second.pic != NULL) it->second.pic->Release();