aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/AuthHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/AuthHandler.cpp')
-rw-r--r--src/server/game/Handlers/AuthHandler.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp
index 13db0718450..7af2a1e46fa 100644
--- a/src/server/game/Handlers/AuthHandler.cpp
+++ b/src/server/game/Handlers/AuthHandler.cpp
@@ -24,7 +24,7 @@
#include "GameTime.h"
#include "ObjectMgr.h"
#include "RBAC.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "SystemPackets.h"
#include "Timezone.h"
#include "World.h"
@@ -40,11 +40,14 @@ void WorldSession::SendAuthResponse(uint32 code, bool queued, uint32 queuePos)
response.SuccessInfo->ActiveExpansionLevel = GetExpansion();
response.SuccessInfo->AccountExpansionLevel = GetAccountExpansion();
- response.SuccessInfo->VirtualRealmAddress = realm.Id.GetAddress();
response.SuccessInfo->Time = int32(GameTime::GetGameTime());
// Send current home realm. Also there is no need to send it later in realm queries.
- response.SuccessInfo->VirtualRealms.emplace_back(realm.Id.GetAddress(), true, false, realm.Name, realm.NormalizedName);
+ if (std::shared_ptr<Realm const> currentRealm = sRealmList->GetCurrentRealm())
+ {
+ response.SuccessInfo->VirtualRealmAddress = currentRealm->Id.GetAddress();
+ response.SuccessInfo->VirtualRealms.emplace_back(currentRealm->Id.GetAddress(), true, false, currentRealm->Name, currentRealm->NormalizedName);
+ }
if (HasPermission(rbac::RBAC_PERM_USE_CHARACTER_TEMPLATES))
for (auto&& templ : sCharacterTemplateDataStore->GetCharacterTemplates())