1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

Fix removal of fully sacrificed stacks from heroes garrison slots

This one fixes issue 2010. Though CAltarWindow need proper refactoring.
This commit is contained in:
ArseniyShestakov 2014-12-26 01:18:58 +03:00
parent aca0eeed86
commit 27705e1ac6

View File

@ -1201,8 +1201,11 @@ void CAltarWindow::getBaseForPositions(EType type, int &dx, int &dy, int &x, int
void CAltarWindow::sliderMoved(int to)
{
sacrificedUnits[hLeft->serial] = to;
updateRight(hRight);
if(hLeft)
sacrificedUnits[hLeft->serial] = to;
if(hRight)
updateRight(hRight);
deal->block(!to);
calcTotalExp();
redraw();
@ -1356,13 +1359,7 @@ void CAltarWindow::garrisonChanged()
std::set<CTradeableItem *> empty;
getEmptySlots(empty);
for(CTradeableItem *t : empty)
{
removeItem(*std::find_if(items[0].begin(), items[0].end(), [&](const CTradeableItem * item)
{
return item->serial == t->serial;
}));
}
removeItems(empty);
initSubs(true);
getExpValues();