fix: match the idle line and keep the found folder

The handheld launcher compared the idle close's line without install.py's RetroBIOS: prefix, and its test fake printed it the same way, so the device still waited 300 s: a test now ties both to TUI_IDLE_WORDS. The interface offered the built-in default folder when the folder found here could not be opened, a folder RetroArch does not read.
This commit is contained in:
Abdessamad Derraz committed 2026-10-24 01:03:36 +02:00
1 parent 699f007cf0
commit 859f2c8a22
6 files changed
+25 -7

No files matched your search

+8 -3
View File
@@ -9217,7 +9217,10 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None:
# A system_directory under /root read from retroarch.cfg, run without
# sudo: the case probe raised PermissionError before any line.
for _name, path in platforms:
_refuse_closed(path, "detected here")
if closed_folder(path) is not None and len(platforms) > 1:
print(" Nothing was installed. Name one platform with --platform "
"to install it alone.", file=sys.stderr)
_refuse_closed(path, "detected here (name another with --dest)")
total_downloaded = 0
total_up_to_date = 0
@@ -10791,8 +10794,10 @@ def _choose(state: TuiState, plat: str, dest: Path) -> list[tuple]:
state.platform, state.status = plat, _closed_status(state, closed)
if state.stack and state.screen in ("folder", "browse", "path"):
return []
state.folder_default = (None if plat in CARD_PLATFORMS
else _default_dest(state.os_type, plat))
# The folder found here is the one the frontend reads: the built-in
# default beside it is one it does not, offered as "reads its BIOS
# files from" and filled with Enter.
state.folder_default = None
return _push(state, "folder")
card = card_system(dest)
if card and card[0] == plat and card[1] != dest: