Fix sync issue in PlayerLoggedinHandler (#326)
This commit is contained in:
@@ -160,6 +160,9 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler {
|
|||||||
c.lockClient(); // Sync this to prevent wrong login state for double channel changes
|
c.lockClient(); // Sync this to prevent wrong login state for double channel changes
|
||||||
try {
|
try {
|
||||||
int state = c.getLoginState();
|
int state = c.getLoginState();
|
||||||
|
if (state == MapleClient.LOGIN_LOGGEDIN) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (state != MapleClient.LOGIN_SERVER_TRANSITION || !allowLogin) {
|
if (state != MapleClient.LOGIN_SERVER_TRANSITION || !allowLogin) {
|
||||||
c.setPlayer(null);
|
c.setPlayer(null);
|
||||||
c.announce(MaplePacketCreator.getAfterLoginError(7));
|
c.announce(MaplePacketCreator.getAfterLoginError(7));
|
||||||
|
|||||||
Reference in New Issue
Block a user