mirror of
https://github.com/osukey/osukey.git
synced 2025-08-03 22:56:36 +09:00
Add extra extra safety against attempting to load a previously expired editor
This commit is contained in:
@ -73,15 +73,23 @@ namespace osu.Game.Skinning.Editor
|
||||
var editor = new SkinEditor(target);
|
||||
editor.State.BindValueChanged(editorVisibilityChanged);
|
||||
|
||||
skinEditor = editor;
|
||||
|
||||
// Schedule ensures that if `Show` is called before this overlay is loaded,
|
||||
// it will not throw (LoadComponentAsync requires the load target to be in a loaded state).
|
||||
Schedule(() =>
|
||||
{
|
||||
Debug.Assert(editor != null);
|
||||
LoadComponentAsync(editor, AddInternal);
|
||||
});
|
||||
if (editor != skinEditor)
|
||||
return;
|
||||
|
||||
skinEditor = editor;
|
||||
LoadComponentAsync(editor, _ =>
|
||||
{
|
||||
if (editor != skinEditor)
|
||||
return;
|
||||
|
||||
AddInternal(editor);
|
||||
});
|
||||
});
|
||||
}
|
||||
else
|
||||
skinEditor.Show();
|
||||
|
Reference in New Issue
Block a user