diff --git a/ts3-client/core/src/main/java/com/ts3client/net/TeamspeakConnection.java b/ts3-client/core/src/main/java/com/ts3client/net/TeamspeakConnection.java index 57bb9ba..9561538 100644 --- a/ts3-client/core/src/main/java/com/ts3client/net/TeamspeakConnection.java +++ b/ts3-client/core/src/main/java/com/ts3client/net/TeamspeakConnection.java @@ -404,6 +404,8 @@ public final class TeamspeakConnection implements TS3Listener { */ private void joinDefaultChannelIfNeeded(String channel, String channelPassword) { if (normaliseChannelRef(channel) == null) return; + LocalTeamspeakClientSocket sock = client; + if (sock == null || !connected) return; // already left again ChannelNode target = model.findChannelByPath(channel); if (target == null) { ui.onError("Channel \"" + channel.trim() + "\" not found on this server."); @@ -411,9 +413,10 @@ public final class TeamspeakConnection implements TS3Listener { } if (currentChannelId() == target.id) return; // clientinit already put us there try { - client.joinChannel(target.id, (channelPassword == null || channelPassword.isEmpty()) + sock.joinChannel(target.id, (channelPassword == null || channelPassword.isEmpty()) ? null : channelPassword); } catch (Exception e) { + if (!connected) return; error("Could not join channel \"" + target.name + "\": " + rootMessage(e)); } }