diff options
author | Philip Kaufmann <phil.kaufmann@t-online.de> | 2013-01-03 22:13:24 +0100 |
---|---|---|
committer | Philip Kaufmann <phil.kaufmann@t-online.de> | 2013-01-04 17:21:40 +0100 |
commit | 54413aab135aa84f60bfcb477a4d2ecfb72edbac (patch) | |
tree | 9388d6c4413a5fdc747af84be8b787af66aa0b16 | |
parent | ea9788517bfa3e53e192c5af9e64e73625f9db74 (diff) |
Bitcoin-Qt: never display own block count > estimated block count
- some users reported it as weird, that the estimated block count could be
lower than our own nodes block number (which is indeed true and not good)
- this pull adds a new default behaviour, which displays our own block
number as estimated block number, if own >= est. block count
- the pull raises space for nodes block counts in cPeerBlockCounts to 8 to
be more accurate
- also removes a reduntant setNumBlocks() call in RPCConsole and moves
initialisation of numBlocksAtStartup in ClientModel, where it belongs
-rw-r--r-- | src/main.cpp | 2 | ||||
-rw-r--r-- | src/qt/clientmodel.cpp | 7 | ||||
-rw-r--r-- | src/qt/rpcconsole.cpp | 9 |
3 files changed, 6 insertions, 12 deletions
diff --git a/src/main.cpp b/src/main.cpp index b59e8a5aca..28fbc8b450 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -45,7 +45,7 @@ bool fReindex = false; bool fBenchmark = false; unsigned int nCoinCacheSize = 5000; -CMedianFilter<int> cPeerBlockCounts(5, 0); // Amount of blocks that other nodes claim to have +CMedianFilter<int> cPeerBlockCounts(8, 0); // Amount of blocks that other nodes claim to have map<uint256, CBlock*> mapOrphanBlocks; multimap<uint256, CBlock*> mapOrphanBlocksByPrev; diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index ce112803f8..12bd989338 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -15,10 +15,8 @@ static const int64 nClientStartupTime = GetTime(); ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QObject(parent), optionsModel(optionsModel), - cachedNumBlocks(0), cachedNumBlocksOfPeers(0), pollTimer(0) + cachedNumBlocks(0), cachedNumBlocksOfPeers(0), numBlocksAtStartup(-1), pollTimer(0) { - numBlocksAtStartup = -1; - pollTimer = new QTimer(this); pollTimer->setInterval(MODEL_UPDATE_DELAY); pollTimer->start(); @@ -65,7 +63,8 @@ void ClientModel::updateTimer() cachedNumBlocks = newNumBlocks; cachedNumBlocksOfPeers = newNumBlocksOfPeers; - emit numBlocksChanged(newNumBlocks, newNumBlocksOfPeers); + // ensure we return the maximum of newNumBlocksOfPeers and newNumBlocks to not create weird displays in the GUI + emit numBlocksChanged(newNumBlocks, std::max(newNumBlocksOfPeers, newNumBlocks)); } } diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 3dc32d0e47..7cf2d41962 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -269,8 +269,6 @@ void RPCConsole::setClientModel(ClientModel *model) setNumConnections(model->getNumConnections()); ui->isTestNet->setChecked(model->isTestNet()); - - setNumBlocks(model->getNumBlocks(), model->getNumBlocksOfPeers()); } } @@ -342,13 +340,10 @@ void RPCConsole::setNumConnections(int count) void RPCConsole::setNumBlocks(int count, int countOfPeers) { ui->numberOfBlocks->setText(QString::number(count)); - ui->totalBlocks->setText(QString::number(countOfPeers)); + // If there is no current countOfPeers available display N/A instead of 0, which can't ever be true + ui->totalBlocks->setText(countOfPeers == 0 ? tr("N/A") : QString::number(countOfPeers)); if(clientModel) - { - // If there is no current number available display N/A instead of 0, which can't ever be true - ui->totalBlocks->setText(clientModel->getNumBlocksOfPeers() == 0 ? tr("N/A") : QString::number(clientModel->getNumBlocksOfPeers())); ui->lastBlockTime->setText(clientModel->getLastBlockDate().toString()); - } } void RPCConsole::on_lineEdit_returnPressed() |