Happened before on this example. I had to abandon such a code.
MF_ENABLED = 0x00000000;
MF_SEPARATOR = 0x00000800;
var limit = 0;
function on_mouse_rbtn_up(x, y){
const _menu = window.CreatePopupMenu();
_menu.AppendMenuItem( MF_ENABLED, 100, "Set limit");
_menu.AppendMenuItem( MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem( MF_ENABLED, 230, "Edit Script");
ret = _menu.TrackPopupMenu(x, y);
switch (ret) {
case 100:
download_limit(x, y);
break;
case 230:
window.EditScript();
break;
}
return true;
}
function download_limit(x, y){
const _menu = window.CreatePopupMenu();
_menu.AppendMenuItem(MF_ENABLED, 1, "Increase");
_menu.AppendMenuItem(MF_ENABLED, 2, "Limit : " + limit + " Return to main menu");
_menu.AppendMenuItem(MF_ENABLED, 3, "Decrease");
ret = _menu.TrackPopupMenu(x, y);
switch (ret) {
case 1:
limit = limit + 1;
// do
download_limit(x, y);
break;
case 2:
on_mouse_rbtn_up (x, y);
break;
case 3:
limit = limit <= 1 ? 1 : limit - 1;
// do
download_limit(x, y);
break;
}
}