mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-25 05:20:49 +00:00
Fix invisible frames intercepting mouse clicks
Disable mouse on Turtle GroupUI frames and all children when pfUI replaces them Re-enable mouse when Turtle frames become active again Prevent combat screen overlay from blocking clicks Use explicit EnableMouse(false) instead of nil for StatusBar widgets
This commit is contained in:
+1
-1
@@ -115,7 +115,7 @@ do -- statusbars
|
|||||||
|
|
||||||
function pfUI.api.CreateStatusBar(name, parent)
|
function pfUI.api.CreateStatusBar(name, parent)
|
||||||
local f = CreateFrame("Button", name, parent)
|
local f = CreateFrame("Button", name, parent)
|
||||||
f:EnableMouse(nil)
|
f:EnableMouse(false)
|
||||||
|
|
||||||
f.bar = f:CreateTexture(nil, "NORMAL")
|
f.bar = f:CreateTexture(nil, "NORMAL")
|
||||||
f.bar:SetPoint("TOPLEFT", f, "TOPLEFT", 0, 0)
|
f.bar:SetPoint("TOPLEFT", f, "TOPLEFT", 0, 0)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ pfUI:RegisterModule("infight", "vanilla:tbc", function ()
|
|||||||
|
|
||||||
pfUI.infight.screen = CreateFrame("Frame", "pfUICombatScreen", WorldFrame)
|
pfUI.infight.screen = CreateFrame("Frame", "pfUICombatScreen", WorldFrame)
|
||||||
pfUI.infight.screen:SetAllPoints(WorldFrame)
|
pfUI.infight.screen:SetAllPoints(WorldFrame)
|
||||||
|
pfUI.infight.screen:EnableMouse(false)
|
||||||
pfUI.infight.screen:Hide()
|
pfUI.infight.screen:Hide()
|
||||||
|
|
||||||
pfUI.infight.UpdateConfig = function(self)
|
pfUI.infight.UpdateConfig = function(self)
|
||||||
|
|||||||
+58
-22
@@ -23,6 +23,61 @@ pfUI:RegisterModule("turtle-wow", "vanilla", function ()
|
|||||||
-- Set GROUP_REPLACE_PARTY early so Turtle's own init can use it
|
-- Set GROUP_REPLACE_PARTY early so Turtle's own init can use it
|
||||||
GROUP_REPLACE_PARTY = "1"
|
GROUP_REPLACE_PARTY = "1"
|
||||||
|
|
||||||
|
-- Disable Turtle GroupUI cluster frames and member frames so they
|
||||||
|
-- cannot intercept mouse clicks meant for pfUI unit frames or nameplates.
|
||||||
|
local function DisableTurtleGroupFrames()
|
||||||
|
GROUP_ENABLED = "0"
|
||||||
|
|
||||||
|
-- Stop GroupFrame from firing events that re-show cluster frames
|
||||||
|
GroupFrame:UnregisterAllEvents()
|
||||||
|
GroupFrame:Hide()
|
||||||
|
|
||||||
|
for i = 1, 8 do
|
||||||
|
local f = _G["GroupClusterFrame"..i]
|
||||||
|
if f then
|
||||||
|
f:Hide()
|
||||||
|
f:EnableMouse(false)
|
||||||
|
-- Disable mouse on all child member frames (Buttons with click handlers)
|
||||||
|
for _, child in pairs({f:GetChildren()}) do
|
||||||
|
child:EnableMouse(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if GroupPetsClusterFrame then
|
||||||
|
GroupPetsClusterFrame:Hide()
|
||||||
|
GroupPetsClusterFrame:EnableMouse(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function EnableTurtleGroupFrames()
|
||||||
|
GROUP_ENABLED = "1"
|
||||||
|
GROUP_REPLACE_PARTY = "1"
|
||||||
|
|
||||||
|
-- Re-enable mouse on cluster frames and their children
|
||||||
|
for i = 1, 8 do
|
||||||
|
local f = _G["GroupClusterFrame"..i]
|
||||||
|
if f then
|
||||||
|
f:EnableMouse(true)
|
||||||
|
for _, child in pairs({f:GetChildren()}) do
|
||||||
|
child:EnableMouse(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if GroupPetsClusterFrame then
|
||||||
|
GroupPetsClusterFrame:EnableMouse(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
GroupFrame:RegisterEvent("PARTY_MEMBERS_CHANGED")
|
||||||
|
GroupFrame:RegisterEvent("RAID_ROSTER_UPDATE")
|
||||||
|
GroupFrame:RegisterEvent("RAID_TARGET_UPDATE")
|
||||||
|
GroupFrame:RegisterEvent("UNIT_NAME_UPDATE")
|
||||||
|
GroupFrame:RegisterEvent("UNIT_PET")
|
||||||
|
GroupFrame:RegisterEvent("PLAYER_TARGET_CHANGED")
|
||||||
|
GroupFrame:RegisterEvent("CHAT_MSG_ADDON")
|
||||||
|
GroupFrame:Show()
|
||||||
|
GroupFrame_Update()
|
||||||
|
end
|
||||||
|
|
||||||
HookAddonOrVariable("GroupFrame", function()
|
HookAddonOrVariable("GroupFrame", function()
|
||||||
hooksecurefunc("GroupFrame_Toggle", function()
|
hooksecurefunc("GroupFrame_Toggle", function()
|
||||||
local inRaid = (GetNumRaidMembers() > 0)
|
local inRaid = (GetNumRaidMembers() > 0)
|
||||||
@@ -34,24 +89,9 @@ pfUI:RegisterModule("turtle-wow", "vanilla", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if pfUIHandles then
|
if pfUIHandles then
|
||||||
GROUP_ENABLED = "0"
|
DisableTurtleGroupFrames()
|
||||||
for i = 1, 8 do
|
|
||||||
local f = _G["GroupClusterFrame"..i]
|
|
||||||
if f then f:Hide() end
|
|
||||||
end
|
|
||||||
if GroupPetsClusterFrame then GroupPetsClusterFrame:Hide() end
|
|
||||||
else
|
else
|
||||||
GROUP_ENABLED = "1"
|
EnableTurtleGroupFrames()
|
||||||
GROUP_REPLACE_PARTY = "1"
|
|
||||||
GroupFrame:RegisterEvent("PARTY_MEMBERS_CHANGED")
|
|
||||||
GroupFrame:RegisterEvent("RAID_ROSTER_UPDATE")
|
|
||||||
GroupFrame:RegisterEvent("RAID_TARGET_UPDATE")
|
|
||||||
GroupFrame:RegisterEvent("UNIT_NAME_UPDATE")
|
|
||||||
GroupFrame:RegisterEvent("UNIT_PET")
|
|
||||||
GroupFrame:RegisterEvent("PLAYER_TARGET_CHANGED")
|
|
||||||
GroupFrame:RegisterEvent("CHAT_MSG_ADDON")
|
|
||||||
GroupFrame:Show()
|
|
||||||
GroupFrame_Update()
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@@ -65,11 +105,7 @@ pfUI:RegisterModule("turtle-wow", "vanilla", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if pfUIHandles then
|
if pfUIHandles then
|
||||||
for i = 1, 8 do
|
DisableTurtleGroupFrames()
|
||||||
local f = _G["GroupClusterFrame"..i]
|
|
||||||
if f then f:Hide() end
|
|
||||||
end
|
|
||||||
if GroupPetsClusterFrame then GroupPetsClusterFrame:Hide() end
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|||||||
Reference in New Issue
Block a user