1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 17:09:26 +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;
}
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)
mXmlParsingState = XmlParsedTags::kOsTag;
return true;
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kWin32Tag]) == 0)
{
if (info.GetOperatingSystemId() & wxOS_WINDOWS)
mXmlParsingState = XmlParsedTags::kOsTag;
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 (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_MAC)
if (info.GetOperatingSystemId() & wxOS_MAC)
mXmlParsingState = XmlParsedTags::kOsTag;
return true;
}
if (wxStrcmp(tag, mXmlTagNames[XmlParsedTags::kLinuxTag]) == 0)
{
if (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_UNIX_LINUX)
if (info.GetOperatingSystemId() & wxOS_UNIX_LINUX)
mXmlParsingState = XmlParsedTags::kOsTag;
return true;
}

View File

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