Browse Source

Fix division by zero in time remaining

0.16
MeshCollider 7 years ago
parent
commit
3b69a08c53
  1. 9
      src/qt/modaloverlay.cpp

9
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)

Loading…
Cancel
Save