diff FilterBar.lua @ 45:db570c6a0ffb v1.0-rc12

- Fixed filter buttons losing their anchor after FlightMap interactions - Fixed flickering tooltips - Fixed a source of hangs while opening the world map, particularly in non-Broken-Isle continents. - Workaround for World Map Action Button: Temporarily activate blizzard POI buttons while a quest-targeting spell is on the cursor.
author Nenue
date Mon, 26 Dec 2016 10:20:52 -0500
parents 77c2ffb5c7f5
children 54aa7f8ebca8
line wrap: on
line diff
--- a/FilterBar.lua	Sun Dec 25 15:48:24 2016 -0500
+++ b/FilterBar.lua	Mon Dec 26 10:20:52 2016 -0500
@@ -74,7 +74,9 @@
 local Pin = WorldPlanFilterPinMixin
 
 function Module:OnLoad()
-  self:SetParent(WorldMapFrame)
+  self:SetParent(WorldMapFrame.UIElementsFrame)
+  self:ClearAllPoints()
+  self:SetPoint('TOPRIGHT')
   WorldPlan:AddHandler(self)
   for index, info in ipairs(db.DefaultFilters) do
     info.zone = db.DefaultFilterType
@@ -82,7 +84,6 @@
     info.pinMask =  "Interface\\Minimap\\UI-Minimap-Background"
     WorldPlan:AddTypeInfo(self,index, info)
   end
-
 end
 
 
@@ -96,6 +97,7 @@
 
 function Module:Setup()
   print('|cFF00FF88'..self:GetName()..':Setup()')
+  self.isStale = true
 end
 
 
@@ -171,12 +173,7 @@
 function Module:Update()
   local blocks = self.buttons
 
-  local relativeFrame = WorldMapFrame.UIElementsFrame.TrackingOptionsButton
-  if FlightMapFrame and FlightMapFrame:IsVisible() then
-    relativeFrame = FlightMapFrame
-  end
-  self:SetParent(relativeFrame)
-  self:SetPoint('TOPRIGHT')
+  local relativeFrame = self
 
     local numHeaders = 0
   print('|cFF00FF88'..self:GetName()..':Update()|r', 'currentMap=',WorldPlan.currentMapID)
@@ -194,9 +191,9 @@
     wipe(info.questList)
 
     for questID, pin in pairs(db.QuestsByID) do
-      print(pin.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION, (db.Config.ShowAllProfessionQuests or pin.isKnownProfession))
+      --print(pin.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION, (db.Config.ShowAllProfessionQuests or pin.isKnownProfession))
       if (pin.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION) or (db.Config.ShowAllProfessionQuests or pin.isKnownProfession) then
-        print(pin.title)
+        --print(pin.title)
         if not info.filterKey then
           if mapQuests[questID] then
               numQuestsHere = numQuestsHere + 1
@@ -303,17 +300,13 @@
 
   self.itemTexture = self.texture
 
+  self:ClearAllPoints()
   if self.isFirst then
-    if FlightMapFrame and FlightMapFrame:IsVisible() then
-      self:SetPoint('TOPRIGHT', FlightMapFrame, 'TOPRIGHT', -4, -25)
-    else
-      self:SetPoint('TOP', self.relativeFrame, 'BOTTOM', 0, -5)
-    end
-
+    self:SetPoint('TOPRIGHT', self.relativeFrame, 'TOPRIGHT', -5, -42)
   else
-    self:SetPoint('TOPRIGHT', self.relativeFrame, 'BOTTOMRIGHT', 0, -(self.spacing or 0))
+    self:SetPoint('TOPLEFT', self.relativeFrame, 'BOTTOMLEFT', 0, -(self.spacing or 0))
   end
-  print('anchor to', self.relativeFrame:GetName(), info.mask)
+  print('anchor', self.relativeFrame:IsShown(), self:GetPoint(1))
 
   self.icon:SetDesaturated(self.numQuestsHere == 0)