mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Prevent crashing when pressing auto-combat button on enemy turn
This commit is contained in:
parent
02b5edd32d
commit
4718396f5f
@ -663,15 +663,11 @@ void BattleInterface::requestAutofightingAIToTakeAction()
|
||||
|
||||
boost::thread aiThread([&]()
|
||||
{
|
||||
auto ba = std::make_unique<BattleAction>(curInt->autofightingAI->activeStack(stacksController->getActiveStack()));
|
||||
|
||||
if(curInt->cb->battleIsFinished())
|
||||
{
|
||||
return; // battle finished with spellcast
|
||||
}
|
||||
|
||||
if (curInt->isAutoFightOn)
|
||||
{
|
||||
if (tacticsMode)
|
||||
{
|
||||
// Always end tactics mode. Player interface is blocked currently, so it's not possible that
|
||||
@ -683,14 +679,15 @@ void BattleInterface::requestAutofightingAIToTakeAction()
|
||||
}
|
||||
else
|
||||
{
|
||||
const CStack* activeStack = stacksController->getActiveStack();
|
||||
|
||||
// If enemy is moving, activeStack can be null
|
||||
if (activeStack)
|
||||
{
|
||||
auto ba = std::make_unique<BattleAction>(curInt->autofightingAI->activeStack(activeStack));
|
||||
givenCommand.setn(ba.release());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
boost::unique_lock<boost::recursive_mutex> un(*CPlayerInterface::pim);
|
||||
activateStack();
|
||||
}
|
||||
});
|
||||
|
||||
aiThread.detach();
|
||||
|
Loading…
Reference in New Issue
Block a user