mirror of
https://github.com/ppy/osu.git
synced 2025-02-19 09:12:58 +08:00
This fixes stack overflow exceptions that would arise when a `Current.Value` of 1 billion or more was set on a `SettingsNumberBox`. The stack overflow was caused by the "maximum 9 digits" spec. If a value technically within `int` bounds, but larger than 1 billion (in the range [1,000,000,000; 2,147,483,647], to be more precise), a feedback loop between the setting control's `Current` and its inner text box's `Current` would occur, wherein the last digit would be trimmed and then re-appended again forevermore. To resolve, remove the offending spec and rely on `int.TryParse` entirely to be able to discern overflow range. Additionally, UX of the text box is slightly changed to notify when the `int` range is exceeded with a red flash. This behaviour would not have been possible to implement without recent framework-side fixes to text box (removal of text set scheduling). |
||
---|---|---|
.. | ||
Sections | ||
DangerousSettingsButton.cs | ||
ISettingsItem.cs | ||
OutlinedTextBox.cs | ||
RulesetSettingsSubsection.cs | ||
SettingsButton.cs | ||
SettingsCheckbox.cs | ||
SettingsDropdown.cs | ||
SettingsEnumDropdown.cs | ||
SettingsFooter.cs | ||
SettingsHeader.cs | ||
SettingsItem.cs | ||
SettingsNoticeText.cs | ||
SettingsNumberBox.cs | ||
SettingsSection.cs | ||
SettingsSlider.cs | ||
SettingsSubsection.cs | ||
SettingsTextBox.cs | ||
Sidebar.cs | ||
SidebarButton.cs | ||
SidebarIconButton.cs |