Skip to content

Commit a3dac13

Browse files
committed
gui: truncate header sync percentage to avoid showing 100% when headers are stale
1 parent 4f8bd39 commit a3dac13

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/qt/modaloverlay.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,14 @@ void ModalOverlay::tipUpdate(int count, const QDateTime& blockDate, double nVeri
163163

164164
void ModalOverlay::UpdateHeaderSyncLabel() {
165165
int est_headers_left = bestHeaderDate.secsTo(QDateTime::currentDateTime()) / Params().GetConsensus().nPowTargetSpacing;
166-
ui->numberOfBlocksLeft->setText(tr("Unknown. Syncing Headers (%1, %2%)…").arg(bestHeaderHeight).arg(QString::number(100.0 / (bestHeaderHeight + est_headers_left) * bestHeaderHeight, 'f', 1)));
166+
const int pct = bestHeaderHeight ? static_cast<int>(1000LL * bestHeaderHeight / (bestHeaderHeight + est_headers_left)) : 0;
167+
ui->numberOfBlocksLeft->setText(tr("Unknown. Syncing Headers (%1, %2%)…").arg(bestHeaderHeight).arg(QStringLiteral("%1.%2").arg(pct / 10).arg(pct % 10)));
167168
}
168169

169170
void ModalOverlay::UpdateHeaderPresyncLabel(int height, const QDateTime& blockDate) {
170171
int est_headers_left = blockDate.secsTo(QDateTime::currentDateTime()) / Params().GetConsensus().nPowTargetSpacing;
171-
ui->numberOfBlocksLeft->setText(tr("Unknown. Pre-syncing Headers (%1, %2%)…").arg(height).arg(QString::number(100.0 / (height + est_headers_left) * height, 'f', 1)));
172+
const int pct = height ? static_cast<int>(1000LL * height / (height + est_headers_left)) : 0;
173+
ui->numberOfBlocksLeft->setText(tr("Unknown. Pre-syncing Headers (%1, %2%)…").arg(height).arg(QStringLiteral("%1.%2").arg(pct / 10).arg(pct % 10)));
172174
}
173175

174176
void ModalOverlay::toggleVisibility()

0 commit comments

Comments
 (0)