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:
@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user