Fix skin changed events triggering after disposal

This commit is contained in:
Dean Herbert 2019-07-22 12:34:40 +09:00
parent ae66a7e9e4
commit a290437286
1 changed files with 5 additions and 3 deletions

View File

@ -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,14 @@ private void load(ISkinSource source)
skin.SourceChanged += onChange;
}
private void onChange() => SkinChanged(skin, allowDefaultFallback);
private void onChange() =>
// schedule required to avoid calls after disposed.
Schedule(() => SkinChanged(skin, allowDefaultFallback));
protected override void LoadAsyncComplete()
{
base.LoadAsyncComplete();
onChange();
SkinChanged(skin, allowDefaultFallback);
}
/// <summary>