From 0c032d3f2fca46569562d968b3edb37d972d0975 Mon Sep 17 00:00:00 2001
From: german77 <juangerman-13@hotmail.com>
Date: Sat, 11 Nov 2023 10:12:11 -0600
Subject: [PATCH] yuzu: Keep homebrew on the recently played list

---
 src/yuzu/main.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index ce0c710211..d2a054eaab 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1909,7 +1909,8 @@ void GMainWindow::BootGame(const QString& filename, u64 program_id, std::size_t
                            StartGameType type, AmLaunchType launch_type) {
     LOG_INFO(Frontend, "yuzu starting...");
 
-    if (program_id > static_cast<u64>(Service::AM::Applets::AppletProgramId::MaxProgramId)) {
+    if (program_id == 0 ||
+        program_id > static_cast<u64>(Service::AM::Applets::AppletProgramId::MaxProgramId)) {
         StoreRecentFile(filename); // Put the filename on top of the list
     }
 
@@ -4295,7 +4296,7 @@ void GMainWindow::OnAlbum() {
 
     const auto filename = QString::fromStdString(album_nca->GetFullPath());
     UISettings::values.roms_path = QFileInfo(filename).path();
-    BootGame(filename);
+    BootGame(filename, AlbumId);
 }
 
 void GMainWindow::OnCabinet(Service::NFP::CabinetMode mode) {
@@ -4319,7 +4320,7 @@ void GMainWindow::OnCabinet(Service::NFP::CabinetMode mode) {
 
     const auto filename = QString::fromStdString(cabinet_nca->GetFullPath());
     UISettings::values.roms_path = QFileInfo(filename).path();
-    BootGame(filename);
+    BootGame(filename, CabinetId);
 }
 
 void GMainWindow::OnMiiEdit() {
@@ -4342,7 +4343,7 @@ void GMainWindow::OnMiiEdit() {
 
     const auto filename = QString::fromStdString((mii_applet_nca->GetFullPath()));
     UISettings::values.roms_path = QFileInfo(filename).path();
-    BootGame(filename);
+    BootGame(filename, MiiEditId);
 }
 
 void GMainWindow::OnCaptureScreenshot() {