mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-12-27 08:19:41 -05:00
fix error on shut down updating p2p connections table
This commit is contained in:
parent
c01d63490f
commit
8ce91aa0c1
@ -99,6 +99,7 @@ public final class XmrConnectionService {
|
|||||||
private MoneroDaemonInfo lastInfo;
|
private MoneroDaemonInfo lastInfo;
|
||||||
private Long syncStartHeight = null;
|
private Long syncStartHeight = null;
|
||||||
private TaskLooper daemonPollLooper;
|
private TaskLooper daemonPollLooper;
|
||||||
|
@Getter
|
||||||
private boolean isShutDownStarted;
|
private boolean isShutDownStarted;
|
||||||
private List<MoneroConnectionManagerListener> listeners = new ArrayList<>();
|
private List<MoneroConnectionManagerListener> listeners = new ArrayList<>();
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
|
|||||||
private final ClockWatcher clockWatcher;
|
private final ClockWatcher clockWatcher;
|
||||||
private final WalletsSetup walletsSetup;
|
private final WalletsSetup walletsSetup;
|
||||||
private final P2PService p2PService;
|
private final P2PService p2PService;
|
||||||
private final XmrConnectionService connectionManager;
|
private final XmrConnectionService connectionService;
|
||||||
|
|
||||||
private final ObservableList<P2pNetworkListItem> p2pNetworkListItems = FXCollections.observableArrayList();
|
private final ObservableList<P2pNetworkListItem> p2pNetworkListItems = FXCollections.observableArrayList();
|
||||||
private final SortedList<P2pNetworkListItem> p2pSortedList = new SortedList<>(p2pNetworkListItems);
|
private final SortedList<P2pNetworkListItem> p2pSortedList = new SortedList<>(p2pNetworkListItems);
|
||||||
@ -131,7 +131,7 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
|
|||||||
@Inject
|
@Inject
|
||||||
public NetworkSettingsView(WalletsSetup walletsSetup,
|
public NetworkSettingsView(WalletsSetup walletsSetup,
|
||||||
P2PService p2PService,
|
P2PService p2PService,
|
||||||
XmrConnectionService connectionManager,
|
XmrConnectionService connectionService,
|
||||||
Preferences preferences,
|
Preferences preferences,
|
||||||
XmrNodes xmrNodes,
|
XmrNodes xmrNodes,
|
||||||
FilterManager filterManager,
|
FilterManager filterManager,
|
||||||
@ -141,7 +141,7 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
|
|||||||
super();
|
super();
|
||||||
this.walletsSetup = walletsSetup;
|
this.walletsSetup = walletsSetup;
|
||||||
this.p2PService = p2PService;
|
this.p2PService = p2PService;
|
||||||
this.connectionManager = connectionManager;
|
this.connectionService = connectionService;
|
||||||
this.preferences = preferences;
|
this.preferences = preferences;
|
||||||
this.xmrNodes = xmrNodes;
|
this.xmrNodes = xmrNodes;
|
||||||
this.filterManager = filterManager;
|
this.filterManager = filterManager;
|
||||||
@ -303,10 +303,10 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
|
|||||||
|
|
||||||
rescanOutputsButton.setOnAction(event -> GUIUtil.rescanOutputs(preferences));
|
rescanOutputsButton.setOnAction(event -> GUIUtil.rescanOutputs(preferences));
|
||||||
|
|
||||||
moneroPeersSubscription = EasyBind.subscribe(connectionManager.peerConnectionsProperty(),
|
moneroPeersSubscription = EasyBind.subscribe(connectionService.peerConnectionsProperty(),
|
||||||
this::updateMoneroPeersTable);
|
this::updateMoneroPeersTable);
|
||||||
|
|
||||||
moneroBlockHeightSubscription = EasyBind.subscribe(connectionManager.chainHeightProperty(),
|
moneroBlockHeightSubscription = EasyBind.subscribe(connectionService.chainHeightProperty(),
|
||||||
this::updateChainHeightTextField);
|
this::updateChainHeightTextField);
|
||||||
|
|
||||||
nodeAddressSubscription = EasyBind.subscribe(p2PService.getNetworkNode().nodeAddressProperty(),
|
nodeAddressSubscription = EasyBind.subscribe(p2PService.getNetworkNode().nodeAddressProperty(),
|
||||||
@ -503,6 +503,7 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateP2PTable() {
|
private void updateP2PTable() {
|
||||||
|
if (connectionService.isShutDownStarted()) return; // ignore if shutting down
|
||||||
p2pPeersTableView.getItems().forEach(P2pNetworkListItem::cleanup);
|
p2pPeersTableView.getItems().forEach(P2pNetworkListItem::cleanup);
|
||||||
p2pNetworkListItems.clear();
|
p2pNetworkListItems.clear();
|
||||||
p2pNetworkListItems.setAll(p2PService.getNetworkNode().getAllConnections().stream()
|
p2pNetworkListItems.setAll(p2PService.getNetworkNode().getAllConnections().stream()
|
||||||
|
Loading…
Reference in New Issue
Block a user