From 5763b7dbe96cf2ce8fcf5499d7b73eff3129c610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Tue, 11 Nov 2025 10:24:11 +0100 Subject: [PATCH] Fix skin layout deserialisation eating exceptions without logging Because I just wasted 30 minutes trying to debug why a skin provided by a user in an issue thread was failing to deserialise, only to realise halfway through that the deserialisation error I was seeing was *from the fallback path and thus a complete red herring*. --- osu.Game/Skinning/Skin.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osu.Game/Skinning/Skin.cs b/osu.Game/Skinning/Skin.cs index 07902106ef..fe0ce5afbc 100644 --- a/osu.Game/Skinning/Skin.cs +++ b/osu.Game/Skinning/Skin.cs @@ -228,8 +228,9 @@ namespace osu.Game.Skinning // First attempt to deserialise using the new SkinLayoutInfo format layout = JsonConvert.DeserializeObject(jsonContent); } - catch + catch (Exception ex) { + Logger.Log($"Deserialising skin layout to {nameof(SkinLayoutInfo)} failed. Falling back to {nameof(SerialisedDrawableInfo)}[].\nDetails: {ex}"); } // If deserialisation using SkinLayoutInfo fails, attempt to deserialise using the old naked list.