diff --git a/src/Ryujinx/Systems/AppHost.cs b/src/Ryujinx/Systems/AppHost.cs index 4000f370a..693e40a0b 100644 --- a/src/Ryujinx/Systems/AppHost.cs +++ b/src/Ryujinx/Systems/AppHost.cs @@ -640,16 +640,8 @@ namespace Ryujinx.Ava.Systems { if (Device.Processes != null) { - // If the ActiveApplication is null, then the ProgramIdText is invalid. - if (Device.Processes.ActiveApplication is not null) - { - MainWindowViewModel.UpdateGameMetadata(Device.Processes.ActiveApplication.ProgramIdText, - _playTimer.Elapsed); - } - else - { - Logger.Error?.PrintMsg(LogClass.Application, "Cannot save metadata because title ID is invalid."); - } + MainWindowViewModel.UpdateGameMetadata(Device.Processes.ActiveApplication?.ProgramIdText, + _playTimer.Elapsed); } ConfigurationState.Instance.System.IgnoreMissingServices.Event -= UpdateIgnoreMissingServicesState; diff --git a/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs b/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs index 8a9a5eb12..a39a8b5cc 100644 --- a/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs +++ b/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs @@ -1159,8 +1159,15 @@ namespace Ryujinx.Ava.Systems.AppLibrary ApplicationCountUpdated?.Invoke(null, e); } - public static ApplicationMetadata LoadAndSaveMetaData(string titleId, Action modifyFunction = null) + public static ApplicationMetadata? LoadAndSaveMetaData(string titleId, Action modifyFunction = null) { + + if (titleId is null) + { + Logger.Warning?.PrintMsg(LogClass.Application, "Cannot save metadata because title ID is invalid."); + return null; + } + string metadataFolder = Path.Combine(AppDataManager.GamesDirPath, titleId, "gui"); string metadataFile = Path.Combine(metadataFolder, "metadata.json");