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(' '));