Mercurial > wow > worldplan
diff WorldQuests.lua @ 54:b289eb3e6a32
- Fix stray pin text arising from pins that are never shown.
author | Nenue |
---|---|
date | Sat, 31 Dec 2016 17:31:39 -0500 |
parents | 6439015d74b1 |
children | 6a2e85836219 |
line wrap: on
line diff
--- a/WorldQuests.lua Fri Dec 30 20:43:58 2016 -0500 +++ b/WorldQuests.lua Sat Dec 31 17:31:39 2016 -0500 @@ -132,8 +132,12 @@ self:RegisterEvent('SKILL_LINES_CHANGED') end -function Module:OnMapInfo() +function Module:OnMapInfo(isBrokenIsle, isContinent, mapAreaID) print('|cFFFFFF00'..self:GetName()..':OnMapInfo()|r visible =', self:IsVisible()) + if self.isContinent ~= isContinent then + self.sizesDirty = true + end + self.isContinent = isContinent if self:IsVisible() then self:Refresh(true) else @@ -221,9 +225,10 @@ if not pin.dataLoaded then pin:GetData() - C_TaskQuest.RequestPreloadRewardData(info.questId) end + + pin:IsFiltered() pin:IsShowable() pin.isStale = true @@ -245,8 +250,8 @@ end db.TasksByID[id] = nil end - pin:SetShown(false) - pin:ClearAllPoints() + pin:Hide() + pin.Overlay:Hide() tinsert(db.FreePins, pin) print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title) @@ -419,7 +424,6 @@ end function Module:Refresh(fromUser) - self.isUserTriggered = fromUser self.currentMapID = GetCurrentMapAreaID() rprint('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') print('|cFF00FF88'..self:GetName()..':Refresh()|r', fromUser or '|cFFFFFF00internal') @@ -437,7 +441,7 @@ self:UpdateAnchors(nil, fromUser) self:Cleanup (fromUser) self.isStale = nil - self.isUserTriggered = nil + self.sizesDirty = nil end -- update visibility states of all pins @@ -465,12 +469,17 @@ if x and y then pin.x = x pin.y = y - pin.throttle = 1 pin:SetFrameLevel(PinBaseIndex+pin:GetID()) pin:SetAnchor(self.hostFrame, pin.x, pin.y, self.hostWidth, self.hostHeight) - tinsert(self.UsedPositions, pin) + --tinsert(self.UsedPositions, pin) end - + if self.sizesDirty then + if self:IsVisible() then + pin:Refresh() + else + pin.isStale = true + end + end if mapID then if not db.QuestsByZone[mapID] then db.QuestsByZone[mapID] = {}