From bb5358b718975d7df34295c03dbacf21eaece634 Mon Sep 17 00:00:00 2001 From: Darthpred Date: Fri, 15 Mar 2013 09:18:54 +0400 Subject: [PATCH] Try this --- ElvUI_SLE/modules/farm/farm.lua | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/ElvUI_SLE/modules/farm/farm.lua b/ElvUI_SLE/modules/farm/farm.lua index 12da5b4..fc6859a 100644 --- a/ElvUI_SLE/modules/farm/farm.lua +++ b/ElvUI_SLE/modules/farm/farm.lua @@ -144,7 +144,12 @@ function F:OnFarm() end function F:InventoryUpdate(event) - if InCombatLockdown() then return end + if InCombatLockdown() then + F:RegisterEvent("PLAYER_REGEN_ENABLED", "InventoryUpdate") + return + else + F:UnregisterEvent("PLAYER_REGEN_ENABLED") + end for i = 1, 5 do for _, button in ipairs(FseedButtons[i]) do @@ -176,7 +181,7 @@ function F:InventoryUpdate(event) button.icon:SetAlpha(button.items == 0 and .25 or 1) end - if event == "BAG_UPDATE" then + if event and event ~= "BAG_UPDATE_COOLDOWN" then F:UpdateLayout() end end @@ -319,13 +324,12 @@ function F:BAG_UPDATE_COOLDOWN() F:UpdateCooldown() end -function F:Zone() +function F:Zone(event) if F:CanSeed() then F:RegisterEvent("BAG_UPDATE", "InventoryUpdate") F:RegisterEvent("BAG_UPDATE_COOLDOWN") F:RegisterEvent("UNIT_QUEST_LOG_CHANGED", "UpdateLayout") - F:InventoryUpdate() F:UpdateLayout() Zcheck = true else @@ -337,24 +341,18 @@ function F:Zone() Zcheck = false end end - + F:InventoryUpdate(event) end function F:UpdateLayout(event) if not SeedAnchor then return end if event == "UNIT_QUEST_LOG_CHANGED" then E:Delay(1, F.UpdateLayout) end --For updating borders after quest was complited. for some reason events fires before quest disappeares from log - if InCombatLockdown() then - F:RegisterEvent("PLAYER_REGEN_ENABLED", "UpdateLayout") - return - end F:UpdateBar(_G["FarmToolBar"], F.UpdateBarLayout, F.OnFarm, ToolAnchor, FtoolButtons) F:UpdateBar(_G["FarmPortalBar"], F.UpdateBarLayout, F.OnFarm, PortalAnchor, FportalButtons) for i=1, 5 do F:UpdateBar(_G[("FarmSeedBar%d"):format(i)], F.UpdateSeedBarLayout, F.CanSeed, SeedAnchor, FseedButtons[i], i) end F:ResizeFrames() - - F:UnregisterEvent("PLAYER_REGEN_ENABLED") end local function onClick(self, mousebutton) @@ -515,14 +513,11 @@ function F:CreateFrames() F:RegisterEvent("ZONE_CHANGED", "Zone") F:RegisterEvent("ZONE_CHANGED_NEW_AREA", "Zone") - F:RegisterEvent("PLAYER_ENTERING_WORLD", "DelayZoneChanged") - - F:DelayZoneChanged() - F:InventoryUpdate() -end -function F:DelayZoneChanged() - E:Delay(10, F.UpdateLayout) + F:RegisterEvent("ZONE_CHANGED_INDOORS", "Zone") + + E:Delay(10, F:Zone()) end + function F:StartFarmBarLoader() F:UnregisterEvent("PLAYER_ENTERING_WORLD") -- 1.7.9.5