Don't scan the time offsets vector repeatedly once we've displayed the warning that the user's clock may be wrong.

This commit is contained in:
Chris Moore 2011-01-24 16:25:41 -08:00
parent 10abe4f26e
commit d9711a5798
1 changed files with 16 additions and 11 deletions

View File

@ -810,19 +810,24 @@ void AddTimeData(unsigned int ip, int64 nTime)
else else
{ {
nTimeOffset = 0; nTimeOffset = 0;
// If nobody else has the same time as us, give a warning
bool fMatch = false;
foreach(int64 nOffset, vTimeOffsets)
if (nOffset != 0 && abs64(nOffset) < 5 * 60)
fMatch = true;
static bool fDone; static bool fDone;
if (!fMatch && !fDone) if (!fDone)
{ {
fDone = true; // If nobody has a time different than ours but within 5 minutes of ours, give a warning
string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."); bool fMatch = false;
strMiscWarning = strMessage; foreach(int64 nOffset, vTimeOffsets)
printf("*** %s\n", strMessage.c_str()); if (nOffset != 0 && abs64(nOffset) < 5 * 60)
boost::thread(boost::bind(ThreadSafeMessageBox, strMessage+" ", string("Bitcoin"), wxOK | wxICON_EXCLAMATION, (wxWindow*)NULL, -1, -1)); fMatch = true;
if (!fMatch)
{
fDone = true;
string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly.");
strMiscWarning = strMessage;
printf("*** %s\n", strMessage.c_str());
boost::thread(boost::bind(ThreadSafeMessageBox, strMessage+" ", string("Bitcoin"), wxOK | wxICON_EXCLAMATION, (wxWindow*)NULL, -1, -1));
}
} }
} }
foreach(int64 n, vTimeOffsets) foreach(int64 n, vTimeOffsets)