From 7e046cc2c3d73f26e63b63514c9435a41a79b31a Mon Sep 17 00:00:00 2001 From: Mary Date: Fri, 27 Nov 2020 19:05:36 +0100 Subject: [PATCH] ui: Check last played datetime validity against current culture (#1730) This is an issue happening when you change your datetime format on your system and try to sort via last played datetime. DateTime.Parse use the current thread culture and will not parse date correctly, effectively causing a crash. As such, I added a check when loading the game list that ensure that the datetime is valid in current culture. Fix #1727. --- Ryujinx/Ui/ApplicationLibrary.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Ryujinx/Ui/ApplicationLibrary.cs b/Ryujinx/Ui/ApplicationLibrary.cs index fbf14e0eb7..353b686e60 100644 --- a/Ryujinx/Ui/ApplicationLibrary.cs +++ b/Ryujinx/Ui/ApplicationLibrary.cs @@ -390,6 +390,13 @@ namespace Ryujinx.Ui ApplicationMetadata appMetadata = LoadAndSaveMetaData(titleId); + if (appMetadata.LastPlayed != "Never" && !DateTime.TryParse(appMetadata.LastPlayed, out _)) + { + Logger.Warning?.Print(LogClass.Application, $"Last played datetime \"{appMetadata.LastPlayed}\" is invalid for current system culture, skipping (did current culture change?)"); + + appMetadata.LastPlayed = "Never"; + } + ApplicationData data = new ApplicationData { Favorite = appMetadata.Favorite,