From 643ce81cf7cac87a102cd49a7e23a0d93724b3ce Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Sun, 3 Jun 2018 13:44:40 +0200 Subject: BASE: Remove temporary targets when they fail to launch Prevents invalid targets created from the command line to show up in the launcher. Fixes Trac#2788. --- base/main.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'base') diff --git a/base/main.cpp b/base/main.cpp index 385b8f35a9..be561f9766 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -193,13 +193,10 @@ static Common::Error runGame(const Plugin *plugin, OSystem &system, const Common dir.getPath().c_str() ); - // Autoadded is set only when no path was provided and - // the game is run from command line. - // - // Thus, we remove this garbage entry - // - // Fixes bug #1544799 - if (ConfMan.hasKey("autoadded")) { + // If a temporary target failed to launch, remove it from the configuration manager + // so it not visible in the launcher. + // Temporary targets are created when starting games from the command line using the game id. + if (ConfMan.hasKey("id_came_from_command_line")) { ConfMan.removeGameDomain(ConfMan.getActiveDomainName().c_str()); } -- cgit v1.2.3