aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Instances/InstanceLockMgr.cpp4
-rw-r--r--src/server/game/Instances/InstanceLockMgr.h8
2 files changed, 4 insertions, 8 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;
diff --git a/src/server/game/Instances/InstanceLockMgr.h b/src/server/game/Instances/InstanceLockMgr.h
index b860335b48f..84edcd90621 100644
--- a/src/server/game/Instances/InstanceLockMgr.h
+++ b/src/server/game/Instances/InstanceLockMgr.h
@@ -96,7 +96,7 @@ public:
Difficulty GetDifficultyId() const { return _difficultyId; }
uint32 GetInstanceId() const { return _instanceId; }
- virtual void SetInstanceId(uint32 instanceId) { _instanceId = instanceId; }
+ void SetInstanceId(uint32 instanceId) { _instanceId = instanceId; }
InstanceResetTimePoint GetExpiryTime() const { return _expiryTime; }
void SetExpiryTime(InstanceResetTimePoint expiryTime) { _expiryTime = expiryTime; }
@@ -143,12 +143,6 @@ class TC_GAME_API SharedInstanceLock : public InstanceLock
public:
SharedInstanceLock(uint32 mapId, Difficulty difficultyId, InstanceResetTimePoint expiryTime, uint32 instanceId, std::shared_ptr<SharedInstanceLockData> sharedData);
- void SetInstanceId(uint32 instanceId) override
- {
- InstanceLock::SetInstanceId(instanceId);
- _sharedData->InstanceId = instanceId;
- }
-
InstanceLockData const* GetInstanceInitializationData() const override { return _sharedData.get(); }
SharedInstanceLockData* GetSharedData() { return _sharedData.get(); }