Thread Tools Display Modes
Prev Previous Post   Next Post Next
09/06/22, 10:21 PM   #1
Moohemoth
Join Date: Sep 2022
Posts: 2
Working around creating insecure dialogs

Hey all! Got an issue:

https://forums.elderscrollsonline.co...n-gamepad-mode

Just like in this thread on the forums, where if your addon is the first one to make a gamepad dialog then all further dialogs, like the one activity finder makes when your queue pops, are deemed insecure and gives you errors because of it.

Code:
/EsoUI/Ingame/PlayerToPlayer/PlayerToPlayer.lua:1464: Attempt to access a private function 'CancelTaskbarWindowFlash' from insecure code. The callstack became untrusted 3 stack frame(s) from the top.
stack traceback:
/EsoUI/Ingame/PlayerToPlayer/PlayerToPlayer.lua:1464: in function 'ZO_PlayerToPlayer:RemoveEntryFromIncomingQueueTable'
<Locals> self = [table:1]{lastFailedPromptTime = 4047797, hasResurrectPending = F, hasRequiredSoulGem = F, showingResponsePrompt = F, msToDelayToShowPrompt = 500, shouldShowNotificationKeybindLayer = F, isBeingResurrected = F, failedRaidRevives = F, resurrectable = F}, index = 1, incomingEntry = [table:2]{messageFormat = 7700, acceptText = "Ready", seen = T, expiresAtS = 4273.5825195312, pendingResponse = T, dialogTitle = "Activity Finder", incomingType = 13} </Locals>
/EsoUI/Ingame/PlayerToPlayer/PlayerToPlayer.lua:1406: in function 'ZO_PlayerToPlayer:Decline'
<Locals> self = [table:1], incomingEntry = [table:2], index = 1 </Locals>
/EsoUI/Ingame/Globals/InGameDialogs.lua:3590: in function 'buttonCallback'
<Locals> dialog = ud </Locals>
/EsoUI/Libraries/ZO_Dialog/Gamepad/ZO_GenericDialog_Gamepad.lua:25: in function 'callback'
<Locals> pressState = F </Locals>
/EsoUI/Libraries/ZO_KeybindStrip/ZO_KeybindStrip.lua:680: in function 'ZO_KeybindStrip:TryHandlingKeybindDown'
<Locals> self = [table:3]{batchUpdating = F, insertionId = 500, allowDefaultExit = T}, keybind = "DIALOG_NEGATIVE", buttonOrEtherealDescriptor = ud, keybindButtonDescriptor = [table:4]{onShowCooldown = 2000, sound = "Dialog_Decline", keybind = "DIALOG_NEGATIVE", alignment = 1}, enabled = T </Locals>
(tail call): ?
/EsoUI/Libraries/ZO_Dialog/ZO_Dialog.lua:1268: in function 'ZO_Dialogs_ButtonKeybindPressed'
<Locals> keybind = "DIALOG_NEGATIVE", dialog = ud, handledButton = F </Locals>
:1: in function '(main chunk)'
<Locals> keybind = "DIALOG_NEGATIVE" </Locals>
I'm working around it now by just showing normal keyboard dialogs instead and letting the native UI make and use its own, untainted gamepad flavored ones, but would anyone know any other way around this? Anyway to call some protected function beforehand to force the game to make its own dialog so my addon doesn't make it first maybe? As far as I know, ZO_Dialogs_ShowDialog isn't a protected function so I can't just use CallSecureProtected and have it all work, so I'm kinda stuck here lol
  Reply With Quote
 

ESOUI » Developer Discussions » Lua/XML Help » Working around creating insecure dialogs


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off