Commit 00817939 authored by Michael Long's avatar Michael Long

Fix lbshell crashing if no available items in an external menu. Also fix not...

Fix lbshell crashing if no available items in an external menu. Also fix not honoring the "pause after execution" setting on an external program.
parent f9d101fc
Pipeline #371 passed with stage
in 18 minutes and 56 seconds
......@@ -153,13 +153,13 @@ function message_callback()
rows=get_message();
if(rows>0) {
display=true;
/*
/*
* ToDo: This currently assumes that the
* current menu is the only one protruding into the message window
* This would not be correct with (for example) 20 external areas
* and 20 externals in one area
*/
/* Create new timeout object. */
if(rows > console.screen_rows-1)
rows=console.screen_rows-1;
......@@ -345,8 +345,8 @@ function Filemenu()
// Disabled if you can't upload or download.
// Disabled if no upload dir and no batch queue
,(bbs.compare_ars("REST U AND REST D"))
|| (bbs.batch_upload_total <= 0
&& bbs.batch_dnload_total <= 0
|| (bbs.batch_upload_total <= 0
&& bbs.batch_dnload_total <= 0
&& file_area.upload_dir==undefined
)
);
......@@ -498,8 +498,18 @@ function Xtrnsecs()
if(xtrnsecwidth>37)
xtrnsecwidth=37;
this.add("\xda"+bars80.substr(0,xtrnsecwidth)+"\xbf",undefined,undefined,"","");
for(j=0; j<xtrn_area.sec_list.length; j++)
this.add("< |"+hotkeys.substr(j,1)+" "+xtrn_area.sec_list[j].name,j.toString(),xtrnsecwidth);
for(j=0; j<xtrn_area.sec_list.length; j++) {
// see if at least one program is available
var canaccess = false;
for (var k in xtrn_area.sec_list[j].prog_list) {
if (xtrn_area.sec_list[j].prog_list[k].can_access) {
canaccess = true;
}
}
if (canaccess) {
this.add("< |" + hotkeys.substr(j, 1) + " " + xtrn_area.sec_list[j].name, j.toString(), xtrnsecwidth);
}
}
this.add("\xc0"+bars80.substr(0,xtrnsecwidth)+"\xd9",undefined,undefined,"","");
}
Xtrnsecs.prototype=ShellLB.prototype;
......@@ -705,6 +715,10 @@ while(bbs.online) {
console.writeln("DOORSCAN ERROR: "+e);
log("Error running "+xtrn_area.sec_list[curr_xtrnsec].prog_list[parseInt(x_prog)].code+" "+e);
}
if(xtrn_area.sec_list[curr_xtrnsec].prog_list[parseInt(x_prog)].settings & XTRN_PAUSE) {
console.pause();
}
}
else {
bbs.exec_xtrn(xtrn_area.sec_list[curr_xtrnsec].prog_list[parseInt(x_prog)].number);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment