diff --git a/libcockatrice_utility/libcockatrice/utility/system_memory_querier.cpp b/libcockatrice_utility/libcockatrice/utility/system_memory_querier.cpp index 46c24f69c..b4553f8d2 100644 --- a/libcockatrice_utility/libcockatrice/utility/system_memory_querier.cpp +++ b/libcockatrice_utility/libcockatrice/utility/system_memory_querier.cpp @@ -84,7 +84,11 @@ qulonglong SystemMemoryQuerier::availableMemoryBytes() while (!in.atEnd()) { QString line = in.readLine(); if (line.startsWith("MemAvailable:")) { - QStringList parts = line.split(QRegExp("\\s+"), Qt::SkipEmptyParts); +#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 if (parts.size() >= 2) return parts[1].toULongLong() * 1024; } diff --git a/libcockatrice_utility/libcockatrice/utility/system_memory_querier.h b/libcockatrice_utility/libcockatrice/utility/system_memory_querier.h index 44fd9f6f9..8a15fecdd 100644 --- a/libcockatrice_utility/libcockatrice/utility/system_memory_querier.h +++ b/libcockatrice_utility/libcockatrice/utility/system_memory_querier.h @@ -11,8 +11,14 @@ 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 totalMemoryBytes() >= (qulonglong)gib * GiB; + return total >= (qulonglong)gib * GiB; } };