Compare commits

..

No commits in common. "94c5a7d43fb7a194636c1fc1d32dff7e0c809c59" and "2c0c8b416a646c867712695d263d4db26cb9027e" have entirely different histories.

5 changed files with 15 additions and 34 deletions

View file

@ -166,7 +166,7 @@ bool DeckList::readElement(QXmlStreamReader *xml)
return true;
}
static void writeMetadata(QXmlStreamWriter *xml, const DeckList::Metadata &metadata)
void writeMetadata(QXmlStreamWriter *xml, const DeckList::Metadata &metadata)
{
xml->writeTextElement("lastLoadedTimestamp", metadata.lastLoadedTimestamp);
xml->writeTextElement("deckname", metadata.name);

View file

@ -24,7 +24,7 @@ public:
{
return playerId;
}
bool operator==(const PlayerReference &other) const
bool operator==(const PlayerReference &other)
{
return ((roomId == other.roomId) && (gameId == other.gameId) && (playerId == other.playerId));
}

View file

@ -84,11 +84,7 @@ qulonglong SystemMemoryQuerier::availableMemoryBytes()
while (!in.atEnd()) {
QString line = in.readLine();
if (line.startsWith("MemAvailable:")) {
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QStringList parts = line.split(QRegExp("\\s+"), QString::SkipEmptyParts);
#else
QStringList parts = line.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts);
#endif
QStringList parts = line.split(QRegExp("\\s+"), Qt::SkipEmptyParts);
if (parts.size() >= 2)
return parts[1].toULongLong() * 1024;
}

View file

@ -11,14 +11,8 @@ public:
static bool hasAtLeastGiB(int gib)
{
const qulonglong total = totalMemoryBytes();
// 0 means the amount could not be determined (unsupported platform or failed query).
// Treat it as unknown and skip the check instead of misreading it as low memory.
if (total == 0) {
return true;
}
const qulonglong GiB = 1024ull * 1024ull * 1024ull;
return total >= (qulonglong)gib * GiB;
return totalMemoryBytes() >= (qulonglong)gib * GiB;
}
};

View file

@ -188,30 +188,21 @@ void LoadSetsPage::initializePage()
urlLineEdit->setText(wizard()->settings->value("allsetsurl", ALLSETS_URL).toString());
// Memory check because Oracle parsing fails on systems with less than 4GiB for MTGJsons allPrintings.json
// The fallback URL is xz-compressed, so only offer it in builds that can read it.
// During background (automatic) updates there is no user to answer, so switch silently.
#ifdef HAS_LZMA
if (!SystemMemoryQuerier::hasAtLeastGiB(4) && urlLineEdit->text() == ALLSETS_URL) {
if (wizard()->backgroundMode) {
// Ask user whether to switch URL
QMessageBox msgBox(
QMessageBox::Question, tr("Low Memory Detected"),
tr("Your system has less than 4 GiB of memory.\n"
"Using the default AllPrintings URL may cause high memory usage and is known to fail as a result.\n\n"
"Would you like to switch to the direct-download pre-parsed URL instead? (Updated daily)"),
QMessageBox::Yes | QMessageBox::No, this);
msgBox.setDefaultButton(QMessageBox::Yes);
if (msgBox.exec() == QMessageBox::Yes) {
urlLineEdit->setText(MTGXML_URL);
} else {
// Ask user whether to switch URL
QMessageBox msgBox(
QMessageBox::Question, tr("Low Memory Detected"),
tr("Your system has less than 4 GiB of memory.\n"
"Using the default AllPrintings URL may cause high memory usage and is known to fail as a "
"result.\n\n"
"Would you like to switch to the direct-download pre-parsed URL instead? (Updated daily)"),
QMessageBox::Yes | QMessageBox::No, this);
msgBox.setDefaultButton(QMessageBox::Yes);
if (msgBox.exec() == QMessageBox::Yes) {
urlLineEdit->setText(MTGXML_URL);
}
}
}
#endif
progressLabel->hide();
progressBar->hide();