diff --git a/xtrn/ddfilelister/ddfilelister.js b/xtrn/ddfilelister/ddfilelister.js index 9a72122fa659dd78acdc347ac614111afa605487..d585a3d3a780cccd64248b89baedd980c1bbc8d7 100644 --- a/xtrn/ddfilelister/ddfilelister.js +++ b/xtrn/ddfilelister/ddfilelister.js @@ -780,14 +780,18 @@ function doAction(pActionCode, pFileList, pFileListMenu) console.attributes = "N"; console.crlf(); console.print("\x01cFile # (\x01h1-" + numMenuItems + "\x01n\x01c)\x01h\x01g: \x01g"); - fileIdx = console.getnum(numMenuItems, 1) - 1; - pFileListMenu.selectedItemIdx = fileIdx; + var userInput = console.getnum(numMenuItems); console.attributes = "N"; + if (userInput >= 1 && userInput <= numMenuItems) + { + fileIdx = userInput - 1; + pFileListMenu.selectedItemIdx = fileIdx; + } + else // User chose to quit (via Q, 0, or not entering a number) + return getDefaultActionRetObj(); } var fileMetadata = pFileList[fileIdx]; - if (fileMetadata == undefined || typeof(fileMetadata) !== "object") - return getDefaultActionRetObj(); var retObj = null; switch (pActionCode)