aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceLockMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-12-22 14:11:55 +0100
committerShauren <shauren.trinity@gmail.com>2022-12-22 14:11:55 +0100
commit7dc25889c6f8785a8d8a98c990e2421ca9b2a0c7 (patch)
treea0e3cf393341ec0c2e39eb0d76e63485bfb49131 /src/server/game/Instances/InstanceLockMgr.cpp
parent984d9725745f522b45bbefa32c4f06ab1b2eae88 (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.cpp4
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;