diff --git a/esoui/ingame/tradewindow/tradewindow.lua b/esoui/ingame/tradewindow/tradewindow.lua
index ee099a1..61f66a6 100755
--- a/esoui/ingame/tradewindow/tradewindow.lua
+++ b/esoui/ingame/tradewindow/tradewindow.lua
@@ -5,10 +5,22 @@ ZO_TradeManager = ZO_Object:Subclass()
--
--Trade Manager functions
--
+function ZO_TradeManager:New(...)
+ local manager = ZO_Object.New(self)
+ manager:Initialize(...)
+ return manager
+end
function ZO_TradeManager:Initialize()
self.target = nil
self.state = TRADE_STATE_IDLE
+
+ local function OnPlayerActivated()
+ TradeCancel() -- Make sure any trades from reloadui are cancelled
+ EVENT_MANAGER:UnregisterForEvent("TradeSystem", EVENT_PLAYER_ACTIVATED)
+ end
+
+ EVENT_MANAGER:RegisterForEvent("TradeSystem", EVENT_PLAYER_ACTIVATED, OnPlayerActivated)
end
function ZO_TradeManager:InitiateTrade(displayName)
@@ -60,3 +72,5 @@ end
function ZO_TradeManager:IsIdle()
return self.state == TRADE_STATE_IDLE
end
+
+TRADE_WINDOW = ZO_TradeManager:New()