diff options
Diffstat (limited to 'Script.c')
| -rw-r--r-- | Script.c | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -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) { |
