1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-05 22:59:29 +02:00

Distinguish between Win32 and Win64 update urls

This commit is contained in:
Dmitry Vedenko 2021-06-25 19:34:42 +03:00 committed by Dmitry Vedenko
parent 4b2b3458e8
commit db527c55cf
2 changed files with 28 additions and 8 deletions

View File

@ -56,23 +56,41 @@ bool UpdateDataParser::HandleXMLTag(const wxChar* tag, const wxChar** attrs)
return true; return true;
} }
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kWindowsTag]) == 0) const wxPlatformInfo& info = wxPlatformInfo::Get();
constexpr bool is32Bit = sizeof(void*) == 4;
constexpr bool is64Bit = sizeof(void*) == 8;
if (is32Bit)
{ {
if (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_WINDOWS) if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kWin32Tag]) == 0)
{
if (info.GetOperatingSystemId() & wxOS_WINDOWS)
mXmlParsingState = XmlParsedTags::kOsTag; mXmlParsingState = XmlParsedTags::kOsTag;
return true; return true;
} }
}
if (is64Bit)
{
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kWin64Tag]) == 0)
{
if (info.GetOperatingSystemId() & wxOS_WINDOWS)
mXmlParsingState = XmlParsedTags::kOsTag;
return true;
}
}
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kMacosTag]) == 0) if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kMacosTag]) == 0)
{ {
if (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_MAC) if (info.GetOperatingSystemId() & wxOS_MAC)
mXmlParsingState = XmlParsedTags::kOsTag; mXmlParsingState = XmlParsedTags::kOsTag;
return true; return true;
} }
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kLinuxTag]) == 0) if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kLinuxTag]) == 0)
{ {
if (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_UNIX_LINUX) if (info.GetOperatingSystemId() & wxOS_UNIX_LINUX)
mXmlParsingState = XmlParsedTags::kOsTag; mXmlParsingState = XmlParsedTags::kOsTag;
return true; return true;
} }

View File

@ -36,7 +36,8 @@ private:
kUpdateTag, kUpdateTag,
kDescriptionTag, kDescriptionTag,
kOsTag, kOsTag,
kWindowsTag, kWin32Tag,
kWin64Tag,
kMacosTag, kMacosTag,
kLinuxTag, kLinuxTag,
kVersionTag, kVersionTag,
@ -48,7 +49,8 @@ private:
{ XmlParsedTags::kUpdateTag, wxT("Updates") }, { XmlParsedTags::kUpdateTag, wxT("Updates") },
{ XmlParsedTags::kDescriptionTag, wxT("Description") }, { XmlParsedTags::kDescriptionTag, wxT("Description") },
{ XmlParsedTags::kOsTag, wxT("OS") }, { XmlParsedTags::kOsTag, wxT("OS") },
{ XmlParsedTags::kWindowsTag, wxT("Windows") }, { XmlParsedTags::kWin32Tag, wxT("Win32") },
{ XmlParsedTags::kWin64Tag, wxT("Win64") },
{ XmlParsedTags::kMacosTag, wxT("Macos") }, { XmlParsedTags::kMacosTag, wxT("Macos") },
{ XmlParsedTags::kLinuxTag, wxT("Linux") }, { XmlParsedTags::kLinuxTag, wxT("Linux") },
{ XmlParsedTags::kVersionTag, wxT("Version") }, { XmlParsedTags::kVersionTag, wxT("Version") },