From 478a16531460e96463f80d3217a95e840eee684e Mon Sep 17 00:00:00 2001 From: Scott Sibley Date: Tue, 5 Jul 2011 05:51:50 +0000 Subject: [PATCH] Bug fixes with Position module. --- Modules/Position/Position.lua | 62 ++++++++++------------------------------- 1 file changed, 15 insertions(+), 47 deletions(-) diff --git a/Modules/Position/Position.lua b/Modules/Position/Position.lua index f6f9134..ba45807 100644 --- a/Modules/Position/Position.lua +++ b/Modules/Position/Position.lua @@ -350,7 +350,7 @@ end local getIndex = function(owner) local index - if UnitExists("mouseover") then + if UnitExists(StarTip.unit) then if InCombatLockdown() then index = self.db.profile.inCombat elseif owner == UIParent then @@ -364,16 +364,18 @@ local getIndex = function(owner) return index end +local function hideGameTooltip() + GameTooltip:ClearAllPoints() + GameTooltip:SetClampRectInsets(10000, 0, 0, 0) + GameTooltip:SetPoint("RIGHT", UIParent, "LEFT") +end -local isTrouble local isUnitTooltip local updateFrame = CreateFrame("Frame") local fakeUpdateFrame = CreateFrame("Frame") local currentAnchor = "BOTTOM" local xoffset, yoffset = 0, 0 -local active local positionTooltip = function() - if isTrouble or not active then return end local x, y = GetCursorPosition() local effScale = GameTooltip:GetEffectiveScale() @@ -385,10 +387,7 @@ local positionTooltip = function() if isUnitTooltip then if mod.db.profile.defaultUnitTooltipPos == 5 then - - GameTooltip:ClearAllPoints() - GameTooltip:SetClampRectInsets(10000, 0, 0, 0) - GameTooltip:SetPoint("RIGHT", UIParent, "LEFT") + hideGameTooltip() else local pos = squareNames[self.db.profile.defaultUnitTooltipPos] GameTooltip:ClearAllPoints() @@ -445,7 +444,7 @@ end local setOffsets = function(owner) if owner == UIParent then - if UnitExists("mouseover") then + if UnitExists(StarTip.unit) then if InCombatLockdown() then xoffset = self.db.profile.inCombatXOffset yoffset = self.db.profile.inCombatYOffset @@ -458,7 +457,7 @@ local setOffsets = function(owner) yoffset = self.db.profile.otherYOffset end else - if UnitExists("mouseover") then + if UnitExists(StarTip.unit) then xoffset = self.db.profile.unitFramesXOffset yoffset = self.db.profile.unitFramesYOffset else @@ -468,7 +467,6 @@ local setOffsets = function(owner) end end -local locked = false local currentOwner local currentThis local delayFrame = CreateFrame("Frame") @@ -477,7 +475,6 @@ local function delayAnchor() local this = currentThis local owner = currentOwner - this:ClearAllPoints() setOffsets(owner) local index = getIndex(owner) if index == #selections then @@ -489,18 +486,18 @@ local function delayAnchor() isUnitTooltip = false if GameTooltip:GetUnit() then isUnitTooltip = true - end - active = true - if isUnitTooltip then - updateFrame:SetScript("OnUpdate", positionTooltip) fakeUpdateFrame:SetScript("OnUPdate", positionMainTooltip) positionMainTooltip() + updateFrame:SetScript("OnUpdate", positionTooltip) end positionTooltip() else if updateFrame:GetScript("OnUpdate") then updateFrame:SetScript("OnUpdate", nil) end - this:SetPoint(StarTip.anchors[index], UIParent, StarTip.anchors[index], xoffset, yoffset) + if fakeUpdateFrame:GetScript("OnUpdate") then fakeUpdateFrame:SetScript("OnUpdate", nil) end + StarTip.tooltipMain:ClearAllPoints() + StarTip.tooltipMain:SetPoint(StarTip.anchors[index], UIParent, StarTip.anchors[index], xoffset, yoffset) + hideGameTooltip() end end @@ -521,57 +518,28 @@ mod.REGEN_ENABLED = mod.REGEN_DISABLED function mod:OnHide() updateFrame:SetScript("OnUpdate", nil) delayFrame:SetScript("OnUpdate", nil) - isTrouble = false - locked = false + fakeUpdateFrame:SetScript("OnUpdate", nil) end -local threshold = 1 -local lastTime = GetTime() function mod:SetSpell() ---[[ - if locked then return end - if GetTime() - lastTime < threshold then - locked = true - end - lastTime = GetTime() -]] local index = getIndex(currentOwner) if StarTip.anchors[index]:find("^CURSOR_") then updateFrame:SetScript("OnUpdate", nil) - isTrouble = false positionTooltip() - isTrouble = true else GameTooltip:ClearAllPoints() GameTooltip:SetPoint(StarTip.anchors[index], UIParent, StarTip.anchors[index], xoffset, yoffset) end - lastSpell = GameTooltip:GetSpell() end function mod:SetItem() ---[[ - if locked then return end - if GetTime() - lastTime < threshold then - locked = true - end - lastTime = GetTime() -]] local index = getIndex(currentOwner) if StarTip.anchors[index]:find("^CURSOR_") then updateFrame:SetScript("OnUpdate", nil) - isTrouble = false positionTooltip() - isTrouble = true else GameTooltip:ClearAllPoints() GameTooltip:SetPoint(StarTip.anchors[index], UIParent, StarTip.anchors[index], xoffset, yoffset) end - lastItem = GameTooltip:GetItem() -end - -function mod:SetUnit() - isTrouble = false - --updateFrame:SetScript("OnUpdate", positionTooltip) - --fakeUpdateFrame:SetScript("OnUpdate", positionMainTooltip) end -- 1.7.9.5