1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-17 20:58:07 +02:00

Fix possible crash on opening unit window if unit has both ability and

artifact bonus
This commit is contained in:
Ivan Savenko 2025-01-19 16:08:29 +00:00
parent 2823bf5848
commit 9cf75713d0

View File

@ -838,7 +838,11 @@ void CStackWindow::initBonusesList()
std::sort(input.begin(), input.end(), [this](std::shared_ptr<Bonus> v1, std::shared_ptr<Bonus> & v2){
if (v1->source != v2->source)
return v1->source == BonusSource::CREATURE_ABILITY || (v1->source < v2->source);
{
int priorityV1 = v1->source == BonusSource::CREATURE_ABILITY ? -1 : static_cast<int>(v1->source);
int priorityV2 = v2->source == BonusSource::CREATURE_ABILITY ? -1 : static_cast<int>(v2->source);
return priorityV1 < priorityV2;
}
else
return info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false);
});