Browse Source

fix error with destroy window in combat

pull/10/head
BanditTech 3 years ago
parent
commit
e11f2abcc4
  1. 39
      TradeSkillMaster_Destroying/Modules/gui.lua

39
TradeSkillMaster_Destroying/Modules/gui.lua

@ -236,7 +236,18 @@ end
function GUI:UNIT_SPELLCAST_INTERRUPTED(_, unit) function GUI:UNIT_SPELLCAST_INTERRUPTED(_, unit)
if unit == "player" and private.frame and private.frame:IsVisible() then if unit == "player" and private.frame and private.frame:IsVisible() then
TSMAPI:CancelFrame("destroyEnableDelay") TSMAPI:CancelFrame("destroyEnableDelay")
private.frame.destroyBtn:Enable() if InCombatLockdown() then
TSMAPI:CreateTimeDelay("destroyEnableDelay", 1,
function()
if not UnitCastingInfo("player")
and not LootFrame:IsVisible()
and not InCombatLockdown() then
private.frame.destroyBtn:Enable()
end
end)
else
private.frame.destroyBtn:Enable()
end
end end
end end
@ -271,13 +282,35 @@ function private:LootChanged()
local quantity = select(2, GetContainerItemInfo(private.tempData.bag, private.tempData.slot)) local quantity = select(2, GetContainerItemInfo(private.tempData.bag, private.tempData.slot))
if quantity == private.tempData.quantity or quantity == private.tempData.perDestroy then if quantity == private.tempData.quantity or quantity == private.tempData.perDestroy then
TSMAPI:CancelFrame("destroyEnableDelay") TSMAPI:CancelFrame("destroyEnableDelay")
private.frame.destroyBtn:Enable() if InCombatLockdown() then
TSMAPI:CreateTimeDelay("destroyEnableDelay", 1,
function()
if not UnitCastingInfo("player")
and not LootFrame:IsVisible()
and not InCombatLockdown() then
private.frame.destroyBtn:Enable()
end
end)
else
private.frame.destroyBtn:Enable()
end
end end
end end
elseif private.highStack and GetNumLootItems() <= 1 then elseif private.highStack and GetNumLootItems() <= 1 then
if private.frame and private.frame:IsVisible() then if private.frame and private.frame:IsVisible() then
TSMAPI:CancelFrame("destroyEnableDelay") TSMAPI:CancelFrame("destroyEnableDelay")
private.frame.destroyBtn:Enable() if InCombatLockdown() then
TSMAPI:CreateTimeDelay("destroyEnableDelay", 1,
function()
if not UnitCastingInfo("player")
and not LootFrame:IsVisible()
and not InCombatLockdown() then
private.frame.destroyBtn:Enable()
end
end)
else
private.frame.destroyBtn:Enable()
end
end end
end end
end end
Loading…
Cancel
Save