From 8d10f9956dd98b4f95a9cd3189ec91aca740c718 Mon Sep 17 00:00:00 2001 From: RaphiMC <50594595+RaphiMC@users.noreply.github.com> Date: Tue, 10 Jan 2023 22:39:48 +0100 Subject: [PATCH] Fixed account selection being reset (or not reset) sometimes --- src/main/java/net/raphimc/viaproxy/ui/ViaProxyUI.java | 4 ++-- .../java/net/raphimc/viaproxy/ui/impl/AccountsTab.java | 9 ++++++--- .../java/net/raphimc/viaproxy/ui/impl/GeneralTab.java | 10 +++++++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/raphimc/viaproxy/ui/ViaProxyUI.java b/src/main/java/net/raphimc/viaproxy/ui/ViaProxyUI.java index 38692c5f..c2a76819 100644 --- a/src/main/java/net/raphimc/viaproxy/ui/ViaProxyUI.java +++ b/src/main/java/net/raphimc/viaproxy/ui/ViaProxyUI.java @@ -17,8 +17,8 @@ public class ViaProxyUI extends JFrame { private final JTabbedPane contentPane = new JTabbedPane(); private final List tabs = new ArrayList<>(); - private final GeneralTab generalTab = new GeneralTab(this); - private final AccountsTab accountsTab = new AccountsTab(this); + public final GeneralTab generalTab = new GeneralTab(this); + public final AccountsTab accountsTab = new AccountsTab(this); private ImageIcon icon; diff --git a/src/main/java/net/raphimc/viaproxy/ui/impl/AccountsTab.java b/src/main/java/net/raphimc/viaproxy/ui/impl/AccountsTab.java index 187fb66b..8cd5f3d0 100644 --- a/src/main/java/net/raphimc/viaproxy/ui/impl/AccountsTab.java +++ b/src/main/java/net/raphimc/viaproxy/ui/impl/AccountsTab.java @@ -9,7 +9,10 @@ import net.raphimc.viaproxy.ui.popups.AddAccountPopup; import javax.swing.*; -import java.awt.event.*; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.util.concurrent.TimeoutException; public class AccountsTab extends AUITab { @@ -213,8 +216,8 @@ private void addAccount(final StepMCProfile.MCProfile account) { else model.addElement(account.name() + " (Microsoft)"); } - private void markSelected(final int index) { - if (index == -1) { + public void markSelected(final int index) { + if (index < 0 || index >= this.accountsList.getModel().getSize()) { Options.MC_ACCOUNT = null; return; } diff --git a/src/main/java/net/raphimc/viaproxy/ui/impl/GeneralTab.java b/src/main/java/net/raphimc/viaproxy/ui/impl/GeneralTab.java index e1119703..942d76cd 100644 --- a/src/main/java/net/raphimc/viaproxy/ui/impl/GeneralTab.java +++ b/src/main/java/net/raphimc/viaproxy/ui/impl/GeneralTab.java @@ -166,7 +166,15 @@ private void start() { Options.PROTOCOL_VERSION = serverVersion; Options.BETACRAFT_AUTH = betaCraftAuth; - if (authMethod == 2) Options.OPENAUTHMOD_AUTH = true; + if (authMethod != 1) { + Options.MC_ACCOUNT = null; + } else if (Options.MC_ACCOUNT == null) { + this.frame.accountsTab.markSelected(0); + } + + if (authMethod == 2) { + Options.OPENAUTHMOD_AUTH = true; + } } catch (Throwable e) { SwingUtilities.invokeLater(() -> { this.frame.showError("Invalid server address!");