From acd438dd149a5b12f3a34a50085ad85eec9d131a Mon Sep 17 00:00:00 2001 From: ericek111 Date: Wed, 19 Aug 2026 19:43:00 +0000 Subject: [PATCH] Don't send a rename that changes nothing Closing the inline editor without touching the name asked the server to rename us to the name we already hold, which it refuses with "nickname is already in use". Co-Authored-By: Claude Opus 5 --- .../swing/src/main/java/com/ts3client/ui/ServerTreePanel.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ts3-client/swing/src/main/java/com/ts3client/ui/ServerTreePanel.java b/ts3-client/swing/src/main/java/com/ts3client/ui/ServerTreePanel.java index 469f7fa..ae48399 100644 --- a/ts3-client/swing/src/main/java/com/ts3client/ui/ServerTreePanel.java +++ b/ts3-client/swing/src/main/java/com/ts3client/ui/ServerTreePanel.java @@ -119,6 +119,10 @@ public final class ServerTreePanel extends JScrollPane { @Override public void valueForPathChanged(TreePath path, Object newValue) { String nickname = String.valueOf(newValue).trim(); + Object edited = ((DefaultMutableTreeNode) path.getLastPathComponent()).getUserObject(); + // The server answers a rename to the name already held with "nickname is + // already in use", so a field closed unchanged is simply left alone. + if (edited instanceof ClientEntry && nickname.equals(((ClientEntry) edited).nickname)) return; if (!nickname.isEmpty()) actions.renameSelf(nickname); } };