mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 18:52:55 +08:00
Make dependency nullable to allow for safer disposal unbinding
This commit is contained in:
parent
0cee90e156
commit
a443200d0d
@ -41,7 +41,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
|
|||||||
private readonly Bindable<Color4> accentColour = new Bindable<Color4>();
|
private readonly Bindable<Color4> accentColour = new Bindable<Color4>();
|
||||||
private readonly IBindable<int> indexInCurrentCombo = new Bindable<int>();
|
private readonly IBindable<int> indexInCurrentCombo = new Bindable<int>();
|
||||||
|
|
||||||
[Resolved(canBeNull: true)]
|
[Resolved(canBeNull: true)] // Can't really be null but required to handle potential of disposal before DI completes.
|
||||||
private DrawableHitObject? drawableObject { get; set; }
|
private DrawableHitObject? drawableObject { get; set; }
|
||||||
|
|
||||||
[Resolved]
|
[Resolved]
|
||||||
|
@ -192,14 +192,14 @@ namespace osu.Game.Overlays.FirstRunSetup
|
|||||||
|
|
||||||
private readonly Bindable<DirectoryInfo> currentDirectory = new Bindable<DirectoryInfo>();
|
private readonly Bindable<DirectoryInfo> currentDirectory = new Bindable<DirectoryInfo>();
|
||||||
|
|
||||||
[Resolved]
|
[Resolved(canBeNull: true)] // Can't really be null but required to handle potential of disposal before DI completes.
|
||||||
private OsuGameBase game { get; set; } = null!;
|
private OsuGameBase? game { get; set; }
|
||||||
|
|
||||||
protected override void LoadComplete()
|
protected override void LoadComplete()
|
||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
|
|
||||||
game.RegisterImportHandler(this);
|
game?.RegisterImportHandler(this);
|
||||||
|
|
||||||
currentDirectory.BindValueChanged(onDirectorySelected);
|
currentDirectory.BindValueChanged(onDirectorySelected);
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ namespace osu.Game.Overlays.FirstRunSetup
|
|||||||
protected override void Dispose(bool isDisposing)
|
protected override void Dispose(bool isDisposing)
|
||||||
{
|
{
|
||||||
base.Dispose(isDisposing);
|
base.Dispose(isDisposing);
|
||||||
game.UnregisterImportHandler(this);
|
game?.UnregisterImportHandler(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Popover GetPopover() => new DirectoryChooserPopover(currentDirectory);
|
public override Popover GetPopover() => new DirectoryChooserPopover(currentDirectory);
|
||||||
|
Loading…
Reference in New Issue
Block a user