Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/scripts/Spells/spell_paladin.cpp
This commit is contained in:
Michael committed 2014-06-05 19:42:48 +02:00
commit 83c2e79d52
19 files changed
+221 -204

No files matched your search

+12 -4
View File
@@ -124,7 +124,9 @@ WorldSession::WorldSession(uint32 id, WorldSocket* sock, AccountTypes sec, uint8
_filterAddonMessages(false),
recruiterId(recruiter),
isRecruiter(isARecruiter),
_RBACData(NULL)
_RBACData(NULL),
expireTime(60000), // 1 min after socket loss, session is deleted
forceExit(false)
{
memset(m_Tutorials, 0, sizeof(m_Tutorials));
@@ -449,8 +451,12 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
///- Cleanup socket pointer if need
if (m_Socket && m_Socket->IsClosed())
{
m_Socket->RemoveReference();
m_Socket = NULL;
expireTime -= expireTime > diff ? diff : expireTime;
if (expireTime < diff || forceExit)
{
m_Socket->RemoveReference();
m_Socket = NULL;
}
}
if (!m_Socket)
@@ -476,7 +482,6 @@ void WorldSession::LogoutPlayer(bool save)
DoLootRelease(lguid);
///- If the player just died before logging out, make him appear as a ghost
//FIXME: logout must be delayed in case lost connection with client in time of combat
if (_player->GetDeathTimer())
{
_player->getHostileRefManager().deleteReferences();
@@ -606,7 +611,10 @@ void WorldSession::LogoutPlayer(bool save)
void WorldSession::KickPlayer()
{
if (m_Socket)
{
m_Socket->CloseSocket();
forceExit = true;
}
}
void WorldSession::SendNotification(const char *format, ...)