aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonas Schnelli <dev@jonasschnelli.ch>2015-11-26 15:48:26 +0100
committerJonas Schnelli <dev@jonasschnelli.ch>2015-11-30 08:50:59 +0100
commit012fc91511b153ce3fd3e9fb7bbed8f85fb1690e (patch)
tree1360a783f7f2cf341b035822558aa86d705b8335 /src
parent5d5ef3a4cf8e32cdf584811eb5415278f4ba9628 (diff)
NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex*
- also adds a boolean for indication if the tip update was happening during initial sync - emit notification also during initial sync
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp7
-rw-r--r--src/main.cpp4
-rw-r--r--src/ui_interface.h3
3 files changed, 10 insertions, 4 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 1c2f3f49d4..8710e37fed 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -515,11 +515,14 @@ std::string LicenseInfo()
"\n";
}
-static void BlockNotifyCallback(const uint256& hashNewTip)
+static void BlockNotifyCallback(bool initialSync, const CBlockIndex *pBlockIndex)
{
+ if (initialSync || !pBlockIndex)
+ return;
+
std::string strCmd = GetArg("-blocknotify", "");
- boost::replace_all(strCmd, "%s", hashNewTip.GetHex());
+ boost::replace_all(strCmd, "%s", pBlockIndex->GetBlockHash().GetHex());
boost::thread t(runCommand, strCmd); // thread runs free
}
diff --git a/src/main.cpp b/src/main.cpp
index 31913956b7..b41c1ad2e1 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2636,9 +2636,11 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
// Notify external listeners about the new tip.
if (!vHashes.empty()) {
GetMainSignals().UpdatedBlockTip(pindexNewTip);
- uiInterface.NotifyBlockTip(vHashes.front());
}
}
+ if (!vHashes.empty()) {
+ uiInterface.NotifyBlockTip(fInitialDownload, pindexNewTip);
+ }
} while(pindexMostWork != chainActive.Tip());
CheckBlockIndex(chainparams.GetConsensus());
diff --git a/src/ui_interface.h b/src/ui_interface.h
index e402479933..00d9303124 100644
--- a/src/ui_interface.h
+++ b/src/ui_interface.h
@@ -15,6 +15,7 @@
class CBasicKeyStore;
class CWallet;
class uint256;
+class CBlockIndex;
/** General change type (added, updated, removed). */
enum ChangeType
@@ -94,7 +95,7 @@ public:
boost::signals2::signal<void (const std::string &title, int nProgress)> ShowProgress;
/** New block has been accepted */
- boost::signals2::signal<void (const uint256& hash)> NotifyBlockTip;
+ boost::signals2::signal<void (bool, const CBlockIndex *)> NotifyBlockTip;
/** Banlist did change. */
boost::signals2::signal<void (void)> BannedListChanged;