View Single Post
04/18/17, 02:16 AM   #39
votan
 
votan's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2014
Posts: 577
Originally Posted by sirinsidiator View Post
Steps to reproduce:
1. Load the UI with AwesomeGuildStore active
2. Open any guild store
3. Switch to the sell tab
4. Close the guild store
5. Open the inventory
6. Try to use a potion or some other item
To me it looks like it all raises and falls with the scene/fragment state change system.
Maybe ZOS should give themselves a private function "CallPrivateFunction" (or so) to do a permission check (e.g. the secure render mode) and continue selective sub-calls taint-free, even if triggered by custom code.

/edit: e.g. sub-calls within SCENE_MANAGER:ShowScene() and fragment:Refresh()

a function in C++, which looks like this Lua:
Code:
function CallPrivateFunction(func, ...)
    if (tainted and IsSecureRenderMode()) return false end
    local old_tainted = tainted
    tainted = false
    -- continue untainted
    func(...)
    -- we may got tainted (again)
    tainted = tainted or old_tainted
    return true
end

Last edited by votan : 04/18/17 at 02:38 AM.
  Reply With Quote