Fix sync issue in PlayerLoggedinHandler (#326)

This commit is contained in:
MedicOP
2019-01-16 15:00:37 +01:00
committed by Ronan Lana
parent c63fc7475c
commit 132a4ee989

View File

@@ -160,6 +160,9 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler {
c.lockClient(); // Sync this to prevent wrong login state for double channel changes
try {
int state = c.getLoginState();
if (state == MapleClient.LOGIN_LOGGEDIN) {
return;
}
if (state != MapleClient.LOGIN_SERVER_TRANSITION || !allowLogin) {
c.setPlayer(null);
c.announce(MaplePacketCreator.getAfterLoginError(7));