From a88bb0bc1cfbe519b00e99b67a6c5a520977935f Mon Sep 17 00:00:00 2001 From: "Miron Cuperman (devrandom)" Date: Fri, 28 Oct 2011 18:46:43 +0000 Subject: [PATCH] Notify even if nothing to download, resolves issue 90 --- src/com/google/bitcoin/core/DownloadListener.java | 4 ++++ src/com/google/bitcoin/core/Peer.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/google/bitcoin/core/DownloadListener.java b/src/com/google/bitcoin/core/DownloadListener.java index 892350eba..44a9d8e43 100644 --- a/src/com/google/bitcoin/core/DownloadListener.java +++ b/src/com/google/bitcoin/core/DownloadListener.java @@ -40,6 +40,10 @@ public class DownloadListener extends AbstractPeerEventListener { public void onChainDownloadStarted(Peer peer, int blocksLeft) { startDownload(blocksLeft); originalBlocksLeft = blocksLeft; + if (blocksLeft == 0) { + doneDownload(); + done.release(); + } } @Override diff --git a/src/com/google/bitcoin/core/Peer.java b/src/com/google/bitcoin/core/Peer.java index 4b932d27e..bbd8eddcb 100644 --- a/src/com/google/bitcoin/core/Peer.java +++ b/src/com/google/bitcoin/core/Peer.java @@ -412,7 +412,7 @@ public class Peer { setDownloadData(true); // TODO: peer might still have blocks that we don't have, and even have a heavier // chain even if the chain block count is lower. - if (getPeerBlocksToGet() > 0) { + if (getPeerBlocksToGet() >= 0) { for (PeerEventListener listener : eventListeners) { synchronized (listener) { listener.onChainDownloadStarted(this, getPeerBlocksToGet());