From 55e313588e7b992ed5bc87144ae5555828ba4aba Mon Sep 17 00:00:00 2001 From: shagu Date: Wed, 5 Oct 2022 19:35:01 +0200 Subject: [PATCH] worldmap-window: hooks should only be applied once --- mods/worldmap-window.lua | 53 ++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/mods/worldmap-window.lua b/mods/worldmap-window.lua index a808c58..1333bed 100644 --- a/mods/worldmap-window.lua +++ b/mods/worldmap-window.lua @@ -29,34 +29,39 @@ module.enable = function(self) UIPanelWindows["WorldMapFrame"] = { area = "center" } - HookScript(WorldMapFrame, "OnShow", function() - -- default events - UpdateMicroButtons() - PlaySound("igQuestLogOpen") - CloseDropDownMenus() - SetMapToCurrentZone() - WorldMapFrame_PingPlayerPosition() + -- make sure the hooks get only applied once + if not this.hooked then + this.hooked = true - -- customize - this:EnableKeyboard(false) - this:EnableMouseWheel(1) - end) + HookScript(WorldMapFrame, "OnShow", function() + -- default events + UpdateMicroButtons() + PlaySound("igQuestLogOpen") + CloseDropDownMenus() + SetMapToCurrentZone() + WorldMapFrame_PingPlayerPosition() - HookScript(WorldMapFrame, "OnMouseWheel", function() - if IsShiftKeyDown() then - WorldMapFrame:SetAlpha(WorldMapFrame:GetAlpha() + arg1/10) - elseif IsControlKeyDown() then - WorldMapFrame:SetScale(WorldMapFrame:GetScale() + arg1/10) - end - end) + -- customize + this:EnableKeyboard(false) + this:EnableMouseWheel(1) + end) - HookScript(WorldMapFrame, "OnMouseDown",function() - WorldMapFrame:StartMoving() - end) + HookScript(WorldMapFrame, "OnMouseWheel", function() + if IsShiftKeyDown() then + WorldMapFrame:SetAlpha(WorldMapFrame:GetAlpha() + arg1/10) + elseif IsControlKeyDown() then + WorldMapFrame:SetScale(WorldMapFrame:GetScale() + arg1/10) + end + end) - HookScript(WorldMapFrame, "OnMouseUp",function() - WorldMapFrame:StopMovingOrSizing() - end) + HookScript(WorldMapFrame, "OnMouseDown",function() + WorldMapFrame:StartMoving() + end) + + HookScript(WorldMapFrame, "OnMouseUp",function() + WorldMapFrame:StopMovingOrSizing() + end) + end WorldMapFrame:SetMovable(true) WorldMapFrame:EnableMouse(true)