From 245f8a7eeeac59a94535715b6d35e64b7b3b8f9e 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 fbf14e0eb..353b686e6 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,