Skip to content

Commit 9a66e77

Browse files
committed
Guard PrimaryLanguageOverride against invalid tags
1 parent 27859d5 commit 9a66e77

2 files changed

Lines changed: 14 additions & 5 deletions

File tree

CelestiaAppComponent/SettingItem.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -627,10 +627,15 @@ namespace winrt::CelestiaAppComponent::implementation
627627
// Must be queried before setting
628628
if (!hasCorrectValue)
629629
return;
630-
if (value == 0)
631-
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(L"");
632-
else
633-
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(LocalizationHelper::ToWindowsTag(availableLanguages.GetAt(value - 1)));
630+
try
631+
{
632+
if (value == 0)
633+
// Note: Microsoft::Globalization::ApplicationLanguages::PrimaryLanguageOverride does not accept L"" to reset, so we use the Windows::Globalization variant here.
634+
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(L"");
635+
else
636+
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(LocalizationHelper::ToWindowsTag(availableLanguages.GetAt(value - 1)));
637+
}
638+
catch (hresult_error const&) {}
634639
}
635640

636641
hstring LanguageInt32Item::Title()

CelestiaWinUI/MainWindow.xaml.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,11 @@ namespace winrt::CelestiaWinUI::implementation
146146
auto overrideLocaleLegacy = appSettings.LanguageOverride();
147147
if (!overrideLocaleLegacy.empty())
148148
{
149-
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(LocalizationHelper::ToWindowsTag(overrideLocaleLegacy));
149+
try
150+
{
151+
Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(LocalizationHelper::ToWindowsTag(overrideLocaleLegacy));
152+
}
153+
catch (hresult_error const&) {}
150154
appSettings.LanguageOverride(L"");
151155
appSettings.Save(AppDataHelper::LocalSettings());
152156

0 commit comments

Comments
 (0)