7.3.2 error with orig() #47


Open
  • GraysonCarlyle created this issue Oct 24, 2017

    Occurs when attempting to log out, exit, /camp, etc...

     

    2x [ADDON_ACTION_FORBIDDEN] AddOn 'AllPlayed' tried to call the protected function 'orig()'.
    !BugGrabber\BugGrabber.lua:573: in function <!BugGrabber\BugGrabber.lua:573>
    [C]: ?
    ...ceAllPlayed\libs\AceHook-3.0\AceHook-3.0-8.lua:95: in function `Logout'
    [string "*:OnClick"]:2: in function <[string "*:OnClick"]:1>

    Locals:
    nil

  • Veyska posted a comment Oct 24, 2017

     Relevant lines in AllPlayed.lua (at least off a search, in the process of figuring out why I couldn't log out even though I'd disabled DailyGlobalCheck, which has the same issue)...

     

    Line 395: self:Hook("Logout", true)
    Line 1579: function AllPlayed:Logout()
    Line 1580: --self:Debug("Logout()")
    Line 1583: --return self.hooks.Logout()

  • zaph0n posted a comment Oct 24, 2017

    Would love to see an update to this.  I already stared at it for a while, but can't figure out what the issue is.

  • Veyska posted a comment Oct 25, 2017

    Blizzard apparently protected some functions including Logout(), betting also Quit() as well.

     

    I don't know if it's going to cause/is causing issues elsewhere (it's probably fine, data just might not be 100% up-to-the-last-second for other characters) but I've at least got AllPlayed running with the ability to properly log out.  Fairly simple "fix"...

     

     

    Delete lines 1579-1591 {function AllPlayed:Logout() through return self.hooks.Quit() end}  (Make sure to get the "end" Quit(), it's on the next line but it's important.)

    Delete lines 395 and 396 {self:Hook("Logout", true) and self:Hook("Quit", true)}

  • RealGrizzlyUK posted a comment Oct 25, 2017

    Getting a similar error from the addon QuitConfirmed:

     

    "Error: AddOn QuitConfirmed attempted to call a forbidden function (origQuit()) from a tainted execution path.",

     

    Really hope the authors of the affected addons can get this fixed ASAP!

     

    Thanks to Veyska for the advice regarding a temp workaround fix.

  • AlexL1118 posted a comment Oct 25, 2017

    What helped me is the following replacement in file "AllPlayed.lua":

    Before:

        self:Hook("Logout", true)
        self:Hook("Quit", true)

    After:

        self:SecureHook( "Logout" )
        self:SecureHook( "Quit" )

    Edited Oct 25, 2017
  • serious2 posted a comment Nov 6, 2017

    What helped me is the following replacement in file "AllPlayed.lua":

    Before:

        self:Hook("Logout", true)
        self:Hook("Quit", true)

    After:

        self:SecureHook( "Logout" )
        self:SecureHook( "Quit" )

     

    Can confirm. The solution fixed it for me.

  • Forge_User_08273971 posted a comment Nov 12, 2017

    Hi, I love this add-on. After some research, i found a working solution to https://www.wowace.com/projects/all-played-laotseu/issues/48

     

    -- Hook the functions that need hooking
    -- self:Hook("Logout", true) --> original line in AllPlayed.lua
    self:RegisterEvent("PLAYER_LOGOUT", "Logout")

     

    -- self:Hook("Quit", true) --> original line in AllPlayed.lua
    self:RegisterEvent("PLAYER_QUITING", "Quit")

  • serious2 posted a comment Dec 11, 2017

    antholycus , thanks mate! It works!


To post a comment, please login or register a new account.