Browse Source

Fix division by zero in time remaining

Github-Pull: #11237
Rebased-From: 3b69a08c53
0.15
MeshCollider 7 years ago committed by MarcoFalke
parent
commit
2e31b1d48d
  1. 11
      src/qt/modaloverlay.cpp

11
src/qt/modaloverlay.cpp

@ -99,15 +99,18 @@ void ModalOverlay::tipUpdate(int count, const QDateTime& blockDate, double nVeri
progressDelta = progressStart-sample.second; progressDelta = progressStart-sample.second;
timeDelta = blockProcessTime[0].first - sample.first; timeDelta = blockProcessTime[0].first - sample.first;
progressPerHour = progressDelta/(double)timeDelta*1000*3600; progressPerHour = progressDelta/(double)timeDelta*1000*3600;
remainingMSecs = remainingProgress / progressDelta * timeDelta; remainingMSecs = (progressDelta > 0) ? remainingProgress / progressDelta * timeDelta : -1;
break; break;
} }
} }
// show progress increase per hour // show progress increase per hour
ui->progressIncreasePerH->setText(QString::number(progressPerHour*100, 'f', 2)+"%"); ui->progressIncreasePerH->setText(QString::number(progressPerHour*100, 'f', 2)+"%");
// show expected remaining time if(remainingMSecs >= 0) {
ui->expectedTimeLeft->setText(GUIUtil::formatNiceTimeOffset(remainingMSecs/1000.0)); ui->expectedTimeLeft->setText(GUIUtil::formatNiceTimeOffset(remainingMSecs / 1000.0));
} else {
ui->expectedTimeLeft->setText(QObject::tr("unknown"));
}
static const int MAX_SAMPLES = 5000; static const int MAX_SAMPLES = 5000;
if (blockProcessTime.count() > MAX_SAMPLES) if (blockProcessTime.count() > MAX_SAMPLES)
@ -169,4 +172,4 @@ void ModalOverlay::closeClicked()
{ {
showHide(true); showHide(true);
userClosed = true; userClosed = true;
} }
Loading…
Cancel
Save