mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-07 18:43:26 -08:00
Compare commits
No commits in common. "45662ac4e2a79bece6ef26b12eaad548b192eed2" and "cc9cf9ba63bd491ff6a195c63070d53bbe0da044" have entirely different histories.
45662ac4e2
...
cc9cf9ba63
1 changed files with 10 additions and 36 deletions
|
|
@ -27,29 +27,6 @@
|
|||
|
||||
#define GIT_SHORT_HASH_LEN 7
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
#if defined(Q_OS_MACOS) || defined(Q_OS_WIN)
|
||||
// QSysInfo::productVersion() is not guaranteed to start with a number, e.g. it returns
|
||||
// "Server 2022" on Windows Server. Use the first numeric token as the major host version.
|
||||
std::optional<int> getProductVersionMajor()
|
||||
{
|
||||
const QString versionString = QSysInfo::productVersion();
|
||||
bool ok = false;
|
||||
static const QRegularExpression firstNumber(R"((\d+))");
|
||||
const auto match = firstNumber.match(versionString);
|
||||
const int version = match.hasMatch() ? match.captured(1).toInt(&ok) : 0;
|
||||
if (!ok) {
|
||||
qCWarning(ReleaseChannelLog) << "Unable to determine OS version from" << versionString;
|
||||
return std::nullopt;
|
||||
}
|
||||
return version;
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
ReleaseChannel::ReleaseChannel() : netMan(new QNetworkAccessManager(this)), response(nullptr), lastRelease(nullptr)
|
||||
{
|
||||
}
|
||||
|
|
@ -70,21 +47,18 @@ void ReleaseChannel::checkForUpdates()
|
|||
// Find assets compatible with host platform (Linux is not supported by in-client updater)
|
||||
std::optional<int> ReleaseChannel::getTargetVersionForCurrentOS(const QString &fileName)
|
||||
{
|
||||
#if defined(Q_OS_WIN) && Q_PROCESSOR_WORDSIZE == 4
|
||||
// The published Windows assets are 64-bit only
|
||||
Q_UNUSED(fileName);
|
||||
return std::nullopt;
|
||||
#endif
|
||||
|
||||
const QRegularExpression *regex = nullptr;
|
||||
|
||||
// Only platforms shipping updater assets (macOS, Windows) need the host version
|
||||
static const std::optional<int> systemVersion =
|
||||
#if defined(Q_OS_MACOS) || defined(Q_OS_WIN)
|
||||
getProductVersionMajor();
|
||||
#else
|
||||
std::nullopt;
|
||||
#endif
|
||||
static const std::optional<int> systemVersion = [] {
|
||||
bool ok = false;
|
||||
const QString versionString = QSysInfo::productVersion();
|
||||
const int version = versionString.split('.').first().toInt(&ok);
|
||||
if (!ok) {
|
||||
qCWarning(ReleaseChannelLog) << "Unable to determine OS version from" << versionString;
|
||||
return std::optional<int>();
|
||||
}
|
||||
return std::optional<int>{version};
|
||||
}();
|
||||
|
||||
if (!systemVersion) {
|
||||
return std::nullopt;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue