From 25ca586a50e3dde6e29b9d2eabae254688c8e848 Mon Sep 17 00:00:00 2001 From: ericek111 Date: Fri, 25 Sep 2026 18:30:23 +0000 Subject: [PATCH] Let a disconnect give up a connect still under way Disconnecting only acted once connected, so a connect that was stuck or retrying could not be called off. Co-Authored-By: Claude Opus 5.5 --- .../src/main/java/com/ts3client/session/ServerSession.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ts3-client/core/src/main/java/com/ts3client/session/ServerSession.java b/ts3-client/core/src/main/java/com/ts3client/session/ServerSession.java index 94a9cd4..94883d5 100644 --- a/ts3-client/core/src/main/java/com/ts3client/session/ServerSession.java +++ b/ts3-client/core/src/main/java/com/ts3client/session/ServerSession.java @@ -180,13 +180,14 @@ public final class ServerSession { channel, target.channelPassword()); } + /** Leaves the server, or gives up a connect that is still under way. */ public void disconnect() { - if (conn.isConnected()) conn.disconnect(); + if (isBusy()) conn.disconnect(); } /** Synchronous teardown for shutdown paths, so the server sees us leave. */ public void shutdown() { - if (conn.isConnected()) conn.disconnectBlocking("Leaving"); + if (isBusy()) conn.disconnectBlocking("Leaving"); } /** Releases the background resources of a session that is being thrown away. */