mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-18 11:54:59 -04:00
eros: fix freeze when refreshing server ping
This commit is contained in:
parent
818d3af996
commit
f274367c08
@ -139,7 +139,7 @@ class ServerListController : EmbeddedJavaFXController<Pane>(), Refreshable {
|
||||
account.connections -= server
|
||||
serverCard.connections -= connection
|
||||
}
|
||||
JavaFXUtil.runLater { updateServer(server) }
|
||||
JavaFXUtil.runLater { updateServer(server, true) }
|
||||
}
|
||||
|
||||
connection.registerEvent(JavaFXEventInvoker.of<KickEvent> { event ->
|
||||
@ -200,7 +200,7 @@ class ServerListController : EmbeddedJavaFXController<Pane>(), Refreshable {
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateServer(server: Server) {
|
||||
private fun updateServer(server: Server, refreshInfo: Boolean = false) {
|
||||
val serverType = serverType ?: return
|
||||
if (server !in serverType.servers) {
|
||||
return
|
||||
@ -224,9 +224,11 @@ class ServerListController : EmbeddedJavaFXController<Pane>(), Refreshable {
|
||||
|
||||
if (wasSelected) {
|
||||
serverListViewFX.selectionModel.select(card)
|
||||
if (refreshInfo) {
|
||||
setServerInfo(card)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun setServerInfo(serverCard: ServerCard?) {
|
||||
@ -316,7 +318,7 @@ class ServerListController : EmbeddedJavaFXController<Pane>(), Refreshable {
|
||||
}
|
||||
isDisable = serverCard.ping.state != StatusConnectionStates.PING_DONE && serverCard.ping.state != StatusConnectionStates.ERROR
|
||||
ctext = TranslatableComponents.GENERAL_REFRESH
|
||||
serverCard.ping::state.observeFX(this) { isDisable = serverCard.ping.state != StatusConnectionStates.PING_DONE && serverCard.ping.state != StatusConnectionStates.ERROR }
|
||||
serverCard.ping::state.observeFX(this) { state -> isDisable = state != StatusConnectionStates.PING_DONE && state != StatusConnectionStates.ERROR }
|
||||
}, 3, 0)
|
||||
it.add(Button("Connect").apply {
|
||||
setOnAction {
|
||||
|
Loading…
x
Reference in New Issue
Block a user