1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00

do not leak scenarioOpts in CMapInfo

This commit is contained in:
AlexVinS
2016-08-31 06:18:01 +03:00
parent cf1d5d0bc9
commit 437eadf1ed
3 changed files with 10 additions and 3 deletions

View File

@ -35,11 +35,13 @@ CMapInfo::CMapInfo() : scenarioOpts(nullptr), playerAmnt(0), humanPlayers(0),
#define STEAL(x) x = std::move(tmp.x)
CMapInfo::CMapInfo(CMapInfo && tmp)
CMapInfo::CMapInfo(CMapInfo && tmp):
scenarioOpts(nullptr), playerAmnt(0), humanPlayers(0),
actualHumanPlayers(0), isRandomMap(false)
{
std::swap(scenarioOpts, tmp.scenarioOpts);
STEAL(mapHeader);
STEAL(campaignHeader);
STEAL(scenarioOpts);
STEAL(fileURI);
STEAL(date);
STEAL(playerAmnt);
@ -48,6 +50,10 @@ CMapInfo::CMapInfo(CMapInfo && tmp)
STEAL(isRandomMap);
}
CMapInfo::~CMapInfo()
{
vstd::clear_pointer(scenarioOpts);
}
void CMapInfo::mapInit(const std::string & fname)
{