1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 10:52:53 +08:00

Protect "use current time" button against crash when no timing point is selected

This commit is contained in:
Dean Herbert 2020-10-03 01:27:42 +09:00
parent b1e7a5113e
commit dab50bff6f

View File

@ -18,6 +18,8 @@ namespace osu.Game.Screens.Edit.Timing
{
private LabelledTextBox textBox;
private TriangleButton button;
[Resolved]
protected Bindable<ControlPointGroup> SelectedGroup { get; private set; }
@ -52,7 +54,7 @@ namespace osu.Game.Screens.Edit.Timing
{
Label = "Time"
},
new TriangleButton
button = new TriangleButton
{
Text = "Use current time",
RelativeSizeAxes = Axes.X,
@ -82,18 +84,22 @@ namespace osu.Game.Screens.Edit.Timing
if (group.NewValue == null)
{
textBox.Text = string.Empty;
textBox.Current.Disabled = true;
button.Enabled.Value = false;
return;
}
textBox.Current.Disabled = false;
button.Enabled.Value = true;
textBox.Text = $"{group.NewValue.Time:n0}";
}, true);
}
private void changeSelectedGroupTime(in double time)
{
if (time == SelectedGroup.Value.Time)
if (SelectedGroup.Value == null || time == SelectedGroup.Value.Time)
return;
changeHandler?.BeginChange();