Skip to content

Commit c46d11a

Browse files
committed
Properly clear channels and channel users on disconnect
1 parent a2fae9a commit c46d11a

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/main/java/com/faforever/client/chat/ChatChannel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import lombok.Getter;
1818
import lombok.ToString;
1919

20+
import java.util.List;
2021
import java.util.Optional;
2122
import java.util.function.Consumer;
2223

@@ -117,7 +118,7 @@ public ChatChannelUser createUserIfNecessary(String username, Consumer<ChatChann
117118
}
118119

119120
public void clearUsers() {
120-
usernameToChatUser.clear();
121+
List.copyOf(usernameToChatUser.keySet()).forEach(this::removeUser);
121122
}
122123

123124
public ObservableList<ChatChannelUser> getTypingUsers() {

src/main/java/com/faforever/client/chat/KittehChatService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ private void onMessage(String message) {
537537
private void onDisconnect(ClientConnectionEndedEvent event) {
538538
client.getEventManager().unregisterEventListener(this);
539539
channels.values().forEach(ChatChannel::clearUsers);
540-
channels.clear();
540+
List.copyOf(channels.keySet()).forEach(this::removeChannel);
541541
connectionState.set(ConnectionState.DISCONNECTED);
542542
client.shutdown();
543543
}

0 commit comments

Comments
 (0)