fixed inifnite recursion

This commit is contained in:
skeletor 2021-09-01 23:57:15 +00:00 committed by ArpyAge
parent be3207eca0
commit 423211bc70

View File

@ -2671,6 +2671,10 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
habbo.getRoomUnit().getCurrentLocation().removeUnit(habbo.getRoomUnit()); habbo.getRoomUnit().getCurrentLocation().removeUnit(habbo.getRoomUnit());
} }
synchronized (this.roomUnitLock) {
this.currentHabbos.remove(habbo.getHabboInfo().getId());
}
if (sendRemovePacket && habbo.getRoomUnit() != null && !habbo.getRoomUnit().isTeleporting) { if (sendRemovePacket && habbo.getRoomUnit() != null && !habbo.getRoomUnit().isTeleporting) {
this.sendComposer(new RoomUserRemoveComposer(habbo.getRoomUnit()).compose()); this.sendComposer(new RoomUserRemoveComposer(habbo.getRoomUnit()).compose());
} }
@ -2687,10 +2691,6 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
} }
} }
synchronized (this.roomUnitLock) {
this.currentHabbos.remove(habbo.getHabboInfo().getId());
}
if (habbo.getHabboInfo().getCurrentGame() != null) { if (habbo.getHabboInfo().getCurrentGame() != null) {
if (this.getGame(habbo.getHabboInfo().getCurrentGame()) != null) { if (this.getGame(habbo.getHabboInfo().getCurrentGame()) != null) {
this.getGame(habbo.getHabboInfo().getCurrentGame()).removeHabbo(habbo); this.getGame(habbo.getHabboInfo().getCurrentGame()).removeHabbo(habbo);
@ -3820,10 +3820,7 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
public void sendComposer(ServerMessage message) { public void sendComposer(ServerMessage message) {
for (Habbo habbo : this.getHabbos()) { for (Habbo habbo : this.getHabbos()) {
if (habbo.getClient() == null) { if (habbo.getClient() == null) continue;
this.removeHabbo(habbo, true);
continue;
}
habbo.getClient().sendResponse(message); habbo.getClient().sendResponse(message);
} }