summaryrefslogtreecommitdiffstats
path: root/Script.c
diff options
context:
space:
mode:
Diffstat (limited to 'Script.c')
-rw-r--r--Script.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/Script.c b/Script.c
index f6c4598..61f3579 100644
--- a/Script.c
+++ b/Script.c
@@ -241,6 +241,11 @@ func ActivateEntry(int index, int action)
MenuItemCommand(entry[DT_Menu_Entry_Symbol], index, action);
}
+func SubMenu()
+{
+ return subMenu;
+}
+
func &Var(int index)
{
return vars[index];
@@ -578,10 +583,10 @@ func SubmenuItemCallback(int action, object menuObject, args, array allArgs)
func MenuQueryCancel(int selection, object menuObject)
{
+ var reaction;
if(selection != -1)
{
var entry = entries[selection];
- var reaction;
if(CheckCondition(entry))
{
reaction = CallCallbacks(entry[DT_Menu_Entry_Callbacks], Menu_CallbackType_Close, [Menu_CallbackType_Close, entry[DT_Menu_Entry_Symbol], settings[DT_Menu_Settings_Object], entry[DT_Menu_Entry_Args]]);
@@ -590,7 +595,7 @@ func MenuQueryCancel(int selection, object menuObject)
React(reaction, selection, true);
}
- if(settings[DT_Menu_Settings_KeepOpen] != DT_Menu_KeepOpen_Not && settings[DT_Menu_Settings_KeepOpen] != DT_Menu_KeepOpen_Permanent)
+ if((settings[DT_Menu_Settings_KeepOpen] != DT_Menu_KeepOpen_Not && settings[DT_Menu_Settings_KeepOpen] != DT_Menu_KeepOpen_Permanent) || (reaction == Menu_React_KeepOpen))
{
return true;
}
@@ -1011,6 +1016,10 @@ func EnumEntrySettings(string& caption, &symbol, string& infoCaption, int index,
func AdaptorGetLimits(array limits)
{
var ret = CreateArray(2);
+ if(!limits)
+ {
+ limits = [Menu_Adaptor_Limits_Min, Menu_Adaptor_Limits_Max];
+ }
for(var i = 0; i < 2; ++i)
{
@@ -1398,6 +1407,10 @@ func AdaptorCommand(int action, object obj, args, array allArgs)
return reaction;
}
}
+ else
+ {
+ return Menu_React_KeepOpen;
+ }
}
else if(args[DT_Menu_Adaptor_Type] == Menu_AdaptorType_String)
{