View Single Post
08-20-16, 07:11 AM   #1
lightspark
A Rage Talon Dragon Guard
 
lightspark's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2012
Posts: 341
ObjectiveTracker-related taint

Hey!

So I've been messing w/ Blizzard_ObjectiveTracker for quite some time, but recently I discovered a bit weird issue. Here's how it happens.

At first I modify (a.k.a. taint) objective tracker's constant, for example, OBJECTIVE_TRACKER_UPDATE_ALL = 0xFFFFFFFF. I think that taint reaches world map frame, when QuestObjectiveTracker_UpdatePOIs is called from world map's QuestMapFrame_UpdateAll function.

But here's a weird part. It doesn't break either objective tracker, or world map itself, they work fine. However, it affects two frames, WorldMapFrame.UIElementsFrame.BountyBoard and WorldMapFrame.UIElementsFrame.ActionButton. So neither :Hide(), nor :SetPoint(), nor :ClearAllPoints() methods can be called in combat. I just get cold "An action was blocked in combat because of taint" warning.

Tweaking Blizzard_ObjectiveTracker was causing no problems before Legion pre-patch, but right now it's pretty much impossible cuz of described issue.

Was this change intended? TBH, it makes no sense.

Example of warning message.

Code:
8/20 16:49:10.879  An action was blocked in combat because of taint from ls_UI - <unnamed>:Hide()
8/20 16:49:10.879      Interface\FrameXML\WorldMapActionButton.lua:58 <unnamed>:Clear()
8/20 16:49:10.879      Interface\FrameXML\WorldMapActionButton.lua:67 <unnamed>:Refresh()
8/20 16:49:10.879      Interface\FrameXML\WorldMapActionButton.lua:19 <unnamed>:SetMapAreaID()
8/20 16:49:10.879      Interface\FrameXML\WorldMapFrame.lua:390
8/20 16:49:10.879      WorldMapFrame:Hide()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2320 <unnamed>:SetUIPanel()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2347 <unnamed>:MoveUIPanel()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2378 <unnamed>:HideUIPanel()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2052
8/20 16:49:10.879      <unnamed>:SetAttribute()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2846 HideUIPanel()
8/20 16:49:10.879      Interface\FrameXML\UIParent.lua:2812 ToggleFrame()
8/20 16:49:10.879      Interface\FrameXML\WorldMapFrame.lua:219 ToggleWorldMap()
__________________

Last edited by lightspark : 08-20-16 at 07:18 AM.