From 8e2fedccfb34a3c227eb8e7e81534e0513e54595 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Mon, 23 Mar 2026 13:05:08 +0100 Subject: [PATCH] Skip heroic games and unquotable paths in removeMissingGames --- src/app.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app.cpp b/src/app.cpp index 8a65f11..54fe6b1 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -1255,19 +1255,20 @@ void App::removeMissingGames() // Skip URL-based launchers (Steam, Lutris, etc.) if (launchCommand.startsWith(QLatin1String("steam://")) || launchCommand.startsWith(QLatin1String("lutris:")) || launchCommand.startsWith(QLatin1String("xdg-open")) || launchCommand.startsWith(QLatin1String("flatpak run")) - || launchCommand.startsWith(QLatin1String("legendary launch")) || launchCommand.startsWith(QLatin1String("bottles"))) { + || launchCommand.startsWith(QLatin1String("legendary launch")) || launchCommand.startsWith(QLatin1String("bottles")) + || launchCommand.startsWith(QLatin1String("heroic "))) { continue; } // Extract executable path from command QString executable = launchCommand; - // Handle quoted paths if (executable.startsWith(QLatin1Char('"'))) { int endQuote = executable.indexOf(QLatin1Char('"'), 1); - if (endQuote > 0) { - executable = executable.mid(1, endQuote - 1); + if (endQuote <= 0) { + continue; } + executable = executable.mid(1, endQuote - 1); } else { // Take first word as executable int space = executable.indexOf(QLatin1Char(' '));