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

Fix level up crashes: 1) Crash on double level up. 2) Crash on custom class level up.

This commit is contained in:
Dmitry Orlov
2020-10-19 22:39:57 +03:00
parent 643cc00db6
commit b25baf66be
5 changed files with 33 additions and 6 deletions

View File

@ -248,10 +248,10 @@ std::vector<std::shared_ptr<const CQuery>> Queries::allQueries() const
return ret;
}
std::vector<std::shared_ptr<CQuery>> Queries::allQueries()
std::vector<QueryPtr> Queries::allQueries()
{
//TODO code duplication with const function :(
std::vector<std::shared_ptr<CQuery>> ret;
std::vector<QueryPtr> ret;
for(auto & playerQueries : queries)
for(auto & query : playerQueries.second)
ret.push_back(query);
@ -259,6 +259,15 @@ std::vector<std::shared_ptr<CQuery>> Queries::allQueries()
return ret;
}
QueryPtr Queries::getQuery(QueryID queryID)
{
for(auto & playerQueries : queries)
for(auto & query : playerQueries.second)
if(query->queryID == queryID)
return query;
return nullptr;
}
void CBattleQuery::notifyObjectAboutRemoval(const CObjectVisitQuery & objectVisit) const
{
assert(result);