fix: crash when there is an incorrect authlib-injector server url. Closes #1774.
This commit is contained in:
@@ -45,8 +45,10 @@ import org.jackhuang.hmcl.util.javafx.BindingMapping;
|
|||||||
import org.jackhuang.hmcl.util.javafx.MappedObservableList;
|
import org.jackhuang.hmcl.util.javafx.MappedObservableList;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import static org.jackhuang.hmcl.ui.versions.VersionPage.wrap;
|
import static org.jackhuang.hmcl.ui.versions.VersionPage.wrap;
|
||||||
|
import static org.jackhuang.hmcl.util.Logging.LOG;
|
||||||
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
|
||||||
import static org.jackhuang.hmcl.util.javafx.ExtendedProperties.createSelectedItemPropertyFor;
|
import static org.jackhuang.hmcl.util.javafx.ExtendedProperties.createSelectedItemPropertyFor;
|
||||||
|
|
||||||
@@ -148,7 +150,13 @@ public class AccountListPage extends DecoratorAnimatedPage implements DecoratorP
|
|||||||
|
|
||||||
ObservableValue<String> title = BindingMapping.of(server, AuthlibInjectorServer::getName);
|
ObservableValue<String> title = BindingMapping.of(server, AuthlibInjectorServer::getName);
|
||||||
item.titleProperty().bind(title);
|
item.titleProperty().bind(title);
|
||||||
item.subtitleProperty().set(URI.create(server.getUrl()).getHost());
|
String host = "";
|
||||||
|
try {
|
||||||
|
host = URI.create(server.getUrl()).getHost();
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
LOG.log(Level.WARNING, "Unparsable authlib-injector server url " + server.getUrl(), e);
|
||||||
|
}
|
||||||
|
item.subtitleProperty().set(host);
|
||||||
Tooltip tooltip = new Tooltip();
|
Tooltip tooltip = new Tooltip();
|
||||||
tooltip.textProperty().bind(Bindings.format("%s (%s)", title, server.getUrl()));
|
tooltip.textProperty().bind(Bindings.format("%s (%s)", title, server.getUrl()));
|
||||||
FXUtils.installFastTooltip(item, tooltip);
|
FXUtils.installFastTooltip(item, tooltip);
|
||||||
|
|||||||
Reference in New Issue
Block a user