Skip to content

Commit

Permalink
Make SetMiscWarning() accept bilingual_str argument
Browse files Browse the repository at this point in the history
  • Loading branch information
hebasto committed Jun 10, 2020
1 parent d1ae7c0 commit d49612f
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/index/base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ template<typename... Args>
static void FatalError(const char* fmt, const Args&... args)
{
std::string strMessage = tfm::format(fmt, args...);
SetMiscWarning(strMessage);
SetMiscWarning(Untranslated(strMessage));
LogPrintf("*** %s\n", strMessage);
uiInterface.ThreadSafeMessageBox(
Untranslated("Error: A fatal internal error occurred, see debug.log for details"),
Expand Down
2 changes: 1 addition & 1 deletion src/timedata.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample)
if (!fMatch) {
fDone = true;
bilingual_str strMessage = strprintf(_("Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly."), PACKAGE_NAME);
SetMiscWarning(strMessage.translated);
SetMiscWarning(strMessage);
uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_WARNING);
}
}
Expand Down
24 changes: 12 additions & 12 deletions src/validation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1666,7 +1666,7 @@ bool UndoReadFromDisk(CBlockUndo& blockundo, const CBlockIndex* pindex)
// TODO: AbortNode() should take bilingual_str userMessage parameter.
static bool AbortNode(const std::string& strMessage, const std::string& userMessage = "", unsigned int prefix = 0)
{
SetMiscWarning(strMessage);
SetMiscWarning(Untranslated(strMessage));
LogPrintf("*** %s\n", strMessage);
if (!userMessage.empty()) {
uiInterface.ThreadSafeMessageBox(Untranslated(userMessage), "", CClientUIInterface::MSG_ERROR | prefix);
Expand Down Expand Up @@ -2429,20 +2429,20 @@ void CChainState::PruneAndFlush() {
}
}

static void DoWarning(const std::string& strWarning)
static void DoWarning(const bilingual_str& warning)
{
static bool fWarned = false;
SetMiscWarning(strWarning);
SetMiscWarning(warning);
if (!fWarned) {
AlertNotify(strWarning);
AlertNotify(warning.original);
fWarned = true;
}
}

/** Private helper function that concatenates warning messages. */
static void AppendWarning(std::string& res, const std::string& warn)
static void AppendWarning(bilingual_str& res, const bilingual_str& warn)
{
if (!res.empty()) res += ", ";
if (!res.empty()) res += Untranslated(", ");
res += warn;
}

Expand All @@ -2459,7 +2459,7 @@ void static UpdateTip(const CBlockIndex* pindexNew, const CChainParams& chainPar
g_best_block_cv.notify_all();
}

std::string warningMessages;
bilingual_str warning_messages;
if (!::ChainstateActive().IsInitialBlockDownload())
{
int nUpgraded = 0;
Expand All @@ -2468,11 +2468,11 @@ void static UpdateTip(const CBlockIndex* pindexNew, const CChainParams& chainPar
WarningBitsConditionChecker checker(bit);
ThresholdState state = checker.GetStateFor(pindex, chainParams.GetConsensus(), warningcache[bit]);
if (state == ThresholdState::ACTIVE || state == ThresholdState::LOCKED_IN) {
const std::string strWarning = strprintf(_("Warning: unknown new rules activated (versionbit %i)").translated, bit);
const bilingual_str warning = strprintf(_("Warning: unknown new rules activated (versionbit %i)"), bit);
if (state == ThresholdState::ACTIVE) {
DoWarning(strWarning);
DoWarning(warning);
} else {
AppendWarning(warningMessages, strWarning);
AppendWarning(warning_messages, warning);
}
}
}
Expand All @@ -2485,14 +2485,14 @@ void static UpdateTip(const CBlockIndex* pindexNew, const CChainParams& chainPar
pindex = pindex->pprev;
}
if (nUpgraded > 0)
AppendWarning(warningMessages, strprintf(_("%d of last 100 blocks have unexpected version").translated, nUpgraded));
AppendWarning(warning_messages, strprintf(_("%d of last 100 blocks have unexpected version"), nUpgraded));
}
LogPrintf("%s: new best=%s height=%d version=0x%08x log2_work=%.8g tx=%lu date='%s' progress=%f cache=%.1fMiB(%utxo)%s\n", __func__,
pindexNew->GetBlockHash().ToString(), pindexNew->nHeight, pindexNew->nVersion,
log(pindexNew->nChainWork.getdouble())/log(2.0), (unsigned long)pindexNew->nChainTx,
FormatISO8601DateTime(pindexNew->GetBlockTime()),
GuessVerificationProgress(chainParams.TxData(), pindexNew), ::ChainstateActive().CoinsTip().DynamicMemoryUsage() * (1.0 / (1<<20)), ::ChainstateActive().CoinsTip().GetCacheSize(),
!warningMessages.empty() ? strprintf(" warning='%s'", warningMessages) : "");
!warning_messages.empty() ? strprintf(" warning='%s'", warning_messages.original) : "");

}

Expand Down
10 changes: 5 additions & 5 deletions src/warnings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
#include <vector>

static Mutex g_warnings_mutex;
static std::string strMiscWarning GUARDED_BY(g_warnings_mutex);
static bilingual_str g_misc_warnings GUARDED_BY(g_warnings_mutex);
static bool fLargeWorkForkFound GUARDED_BY(g_warnings_mutex) = false;
static bool fLargeWorkInvalidChainFound GUARDED_BY(g_warnings_mutex) = false;

void SetMiscWarning(const std::string& strWarning)
void SetMiscWarning(const bilingual_str& warning)
{
LOCK(g_warnings_mutex);
strMiscWarning = strWarning;
g_misc_warnings = warning;
}

void SetfLargeWorkForkFound(bool flag)
Expand Down Expand Up @@ -55,8 +55,8 @@ bilingual_str GetWarnings(bool verbose)
}

// Misc warnings like out of disk space and clock is wrong
if (!strMiscWarning.empty()) {
warnings_concise = Untranslated(strMiscWarning);
if (!g_misc_warnings.empty()) {
warnings_concise = g_misc_warnings;
warnings_verbose.emplace_back(warnings_concise);
}

Expand Down
2 changes: 1 addition & 1 deletion src/warnings.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

struct bilingual_str;

void SetMiscWarning(const std::string& strWarning);
void SetMiscWarning(const bilingual_str& warning);
void SetfLargeWorkForkFound(bool flag);
bool GetfLargeWorkForkFound();
void SetfLargeWorkInvalidChainFound(bool flag);
Expand Down

0 comments on commit d49612f

Please sign in to comment.