mirror of
https://github.com/ppy/osu
synced 2025-03-11 05:49:12 +00:00
Fix SkinChanged events triggering after disposal (#5461)
Fix SkinChanged events triggering after disposal Co-authored-by: Dan Balasescu <1329837+smoogipoo@users.noreply.github.com>
This commit is contained in:
commit
d99408e979
@ -1,4 +1,4 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using System;
|
||||
@ -36,12 +36,15 @@ namespace osu.Game.Skinning
|
||||
skin.SourceChanged += onChange;
|
||||
}
|
||||
|
||||
private void onChange() => SkinChanged(skin, allowDefaultFallback);
|
||||
private void onChange() =>
|
||||
// schedule required to avoid calls after disposed.
|
||||
// note that this has the side-effect of components only performing a skin change when they are alive.
|
||||
Scheduler.AddOnce(() => SkinChanged(skin, allowDefaultFallback));
|
||||
|
||||
protected override void LoadAsyncComplete()
|
||||
{
|
||||
base.LoadAsyncComplete();
|
||||
onChange();
|
||||
SkinChanged(skin, allowDefaultFallback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
Loading…
Reference in New Issue
Block a user