From 078821008a995215a830d3814cfa2bec99908955 Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Sat, 16 Dec 2017 10:06:49 +0100 Subject: [PATCH] improved autocomplete priotization, small bugfix --- Mail.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Mail.lua b/Mail.lua index 866226b..c6af8fc 100644 --- a/Mail.lua +++ b/Mail.lua @@ -68,7 +68,7 @@ function UI_ERROR_MESSAGE() elseif arg1 == ERR_ITEM_MAX_COUNT then Inbox_skip = true end - elseif SendMail_sending and (arg1 == ERR_MAIL_TO_SELF or arg1 == ERR_MAIL_TARGET_NOT_FOUND or arg1 == ERR_MAIL_REACHED_CAP) then + elseif SendMail_sending and (arg1 == ERR_MAIL_TO_SELF or arg1 == ERR_PLAYER_WRONG_FACTION or arg1 == ERR_MAIL_TARGET_NOT_FOUND or arg1 == ERR_MAIL_REACHED_CAP) then SendMail_sending = false SendMail_Abort() SendMail_state = nil @@ -769,6 +769,12 @@ do table.setn(matches, 0) index = nil + local autoCompleteNames = {} + for name, time in Mail_AutoCompleteNames[GetCVar'realmName' .. '|' .. UnitFactionGroup'player'] do + tinsert(autoCompleteNames, {name=name, time=time}) + end + sort(autoCompleteNames, function(a, b) return b.time < a.time end) + local ignore = {[UnitName'player']=true} local function process(name) if name then @@ -778,8 +784,8 @@ do ignore[name] = true end end - for character in Mail_AutoCompleteNames[GetCVar'realmName' .. '|' .. UnitFactionGroup'player'] do - process(character) + for _, t in autoCompleteNames do + process(t.name) end for i = 1, GetNumFriends() do process(GetFriendInfo(i))