1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00

Use bonus only as shared_ptr to avoid memory corruption

This commit is contained in:
Ivan Savenko
2025-06-16 16:22:21 +03:00
parent 4044e03c0a
commit 463c404a83
19 changed files with 62 additions and 67 deletions

View File

@ -580,13 +580,13 @@ JsonRandom::JsonRandom(IGameInfoCallback * cb, IGameRandomizer & gameRandomizer)
return ret;
}
std::vector<Bonus> JsonRandom::loadBonuses(const JsonNode & value)
std::vector<std::shared_ptr<Bonus>> JsonRandom::loadBonuses(const JsonNode & value)
{
std::vector<Bonus> ret;
std::vector<std::shared_ptr<Bonus>> ret;
for (const JsonNode & entry : value.Vector())
{
if(auto bonus = JsonUtils::parseBonus(entry))
ret.push_back(*bonus);
ret.push_back(bonus);
}
return ret;
}