1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-14 19:22:56 +08:00

Merge pull request #23384 from peppy/fix-incorrect-transform-thread

Fix potentially incorrect thread access in `OsuTabControlCheckbox`
This commit is contained in:
Bartłomiej Dach 2023-05-03 10:37:27 +02:00 committed by GitHub
commit 88135a3be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,11 +49,10 @@ namespace osu.Game.Graphics.UserInterface
private const float transition_length = 500;
private Sample sampleChecked;
private Sample sampleUnchecked;
private readonly SpriteIcon icon;
public OsuTabControlCheckbox()
{
SpriteIcon icon;
AutoSizeAxes = Axes.Both;
Children = new Drawable[]
@ -85,14 +84,6 @@ namespace osu.Game.Graphics.UserInterface
Anchor = Anchor.BottomLeft,
}
};
Current.ValueChanged += selected =>
{
icon.Icon = selected.NewValue ? FontAwesome.Regular.CheckCircle : FontAwesome.Regular.Circle;
text.Font = text.Font.With(weight: selected.NewValue ? FontWeight.Bold : FontWeight.Medium);
updateFade();
};
}
[BackgroundDependencyLoader]
@ -105,6 +96,19 @@ namespace osu.Game.Graphics.UserInterface
sampleUnchecked = audio.Samples.Get(@"UI/check-off");
}
protected override void LoadComplete()
{
base.LoadComplete();
Current.BindValueChanged(selected =>
{
icon.Icon = selected.NewValue ? FontAwesome.Regular.CheckCircle : FontAwesome.Regular.Circle;
text.Font = text.Font.With(weight: selected.NewValue ? FontWeight.Bold : FontWeight.Medium);
updateFade();
}, true);
}
protected override bool OnHover(HoverEvent e)
{
updateFade();