Fix sync issue in PlayerLoggedinHandler (#326)

This commit is contained in:
MedicOP
2019-01-16 12:00:37 -02:00
committed by Ronan Lana
parent c63fc7475c
commit 132a4ee989
@@ -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));