AltGameTooltip

Last Updated: Mar 10, 2018 Game Version: 7.3.5

201

Mar 10, 2018

Owner: cfxfox

Patch 8.0 status: nameplates now use a separate GameTooltip instance (NamePlateTooltip), so unless another portion of FrameXML causes GameTooltip to become forbidden, AltGameTooltip is probably not necessary.

The library provides a GameTooltip object (AltGameTooltip) which maps method calls to act on FrameXML's GameTooltip when it is not forbidden, and on a library-created alternative otherwise. Using AltGameTooltip allows addons to avoid errors when FrameXML's GameTooltip object becomes forbidden without requiring significant modifications of addon code.

How to use AltGameTooltip in your addon

  1. Include the library XML file in your addon, loading it before your other code.
  2. Change any instances of GameTooltip to AltGameTooltip in your addon. You can do this by any one of the following:
    • Adding local GameTooltip = AltGameTooltip to the top of any addon file interacting with GameTooltip; watch out for any instances of _G.GameTooltip or equivalent expressions.
    • Alternatively, replacing any occurrence of GameTooltip with AltGameTooltip in your addon, but watch out for GameTooltip_SetDefaultAnchor and similarly-named functions.

The above procedure is sufficient as long as your addon does not need to modify the script handlers (i.e., call :SetScript or :HookScript) on GameTooltip. If you need to do so, perform the modifications on both the original GameTooltip and the library-created AltGameTooltipRaw object.

What's a forbidden GameTooltip?

Hovering over a debuff over a friendly nameplate while in an instance (or certain other instanced world zones) causes GameTooltip to become forbidden. While forbidden, calling any method on GameTooltip except :IsForbidden will cause an error, interfering with addon functionality.