Browse Source

Fixed potential race condition

John Bolton 5 years ago
parent
commit
bb58d349cb
1 changed files with 2 additions and 2 deletions
  1. 2 2
      client/battle/CBattleInterface.cpp

+ 2 - 2
client/battle/CBattleInterface.cpp

@@ -49,10 +49,10 @@ CondSh<BattleAction *> CBattleInterface::givenCommand(nullptr);
 
 
 static void onAnimationFinished(const CStack *stack, std::weak_ptr<CCreatureAnimation> anim)
 static void onAnimationFinished(const CStack *stack, std::weak_ptr<CCreatureAnimation> anim)
 {
 {
-	if(anim.expired())
+	std::shared_ptr<CCreatureAnimation> animation = anim.lock();
+	if(!animation)
 		return;
 		return;
 
 
-	std::shared_ptr<CCreatureAnimation> animation = anim.lock();
 	if (animation->isIdle())
 	if (animation->isIdle())
 	{
 	{
 		const CCreature *creature = stack->getCreature();
 		const CCreature *creature = stack->getCreature();