diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-12-22 14:11:55 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-12-22 14:11:55 +0100 |
commit | 7dc25889c6f8785a8d8a98c990e2421ca9b2a0c7 (patch) | |
tree | a0e3cf393341ec0c2e39eb0d76e63485bfb49131 /src/server/game/Instances/InstanceLockMgr.cpp | |
parent | 984d9725745f522b45bbefa32c4f06ab1b2eae88 (diff) |
Core/Instances: Fixed assertion failure with instance id based lockouts
Closes #28613
Diffstat (limited to 'src/server/game/Instances/InstanceLockMgr.cpp')
-rw-r--r-- | src/server/game/Instances/InstanceLockMgr.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Instances/InstanceLockMgr.cpp b/src/server/game/Instances/InstanceLockMgr.cpp index d0353ad00b0..7ce1dcdbbaf 100644 --- a/src/server/game/Instances/InstanceLockMgr.cpp +++ b/src/server/game/Instances/InstanceLockMgr.cpp @@ -397,8 +397,10 @@ void InstanceLockMgr::UpdateSharedInstanceLock(CharacterDatabaseTransaction tran auto sharedDataItr = _instanceLockDataById.find(updateEvent.InstanceId); ASSERT(sharedDataItr != _instanceLockDataById.end()); std::shared_ptr<SharedInstanceLockData> sharedData = sharedDataItr->second.lock(); - ASSERT(sharedData && sharedData->InstanceId == updateEvent.InstanceId); + ASSERT(sharedData); + ASSERT(!sharedData->InstanceId || sharedData->InstanceId == updateEvent.InstanceId); sharedData->Data = std::move(updateEvent.NewData); + sharedData->InstanceId = updateEvent.InstanceId; if (updateEvent.CompletedEncounter) { sharedData->CompletedEncountersMask |= 1u << updateEvent.CompletedEncounter->Bit; |