PeerGroup: Fix NullPointerException in handleNewPeer() if no download peer could be selected.
@@ -1515,13 +1515,16 @@ public class PeerGroup implements TransactionBroadcaster {
for (Wallet wallet : wallets)
peer.addWallet(wallet);
if (downloadPeer == null) {
+ Peer newDownloadPeer = selectDownloadPeer(peers);
+ if (newDownloadPeer != null) {
+ setDownloadPeer(newDownloadPeer);
// Kick off chain download if we aren't already doing it.
- setDownloadPeer(selectDownloadPeer(peers));
boolean shouldDownloadChain = downloadListener != null && chain != null;
if (shouldDownloadChain) {
startBlockChainDownloadFromPeer(downloadPeer);
}
}
+ }
// Make sure the peer knows how to upload transactions that are requested from us.
peer.addBlocksDownloadedEventListener(Threading.SAME_THREAD, peerListener);
peer.addGetDataEventListener(Threading.SAME_THREAD, peerListener);
