HizurosWoWAddOns / FarmHud

Turn your minimap into a hud for farming ore / herb.
GNU General Public License v3.0
5 stars 6 forks source link

[BUG]: Toggling FarmHud with ElvUI makes it not possible to access minimap right-click menu #2

Open godlike64 opened 2 years ago

godlike64 commented 2 years ago

WoW client

WoW Retail

What happened?

Whenever FarmHud gets toggled on/off, the minimap right-click menu in ElvUI no longer works. It's like something is not getting properly restored. A /reload fixes it.

Note: ElvUI uses right-click on the minimap for the menu that allows you to switch tracking of herbs/minerals, specify which points of interest to track, etc. In the default UI, this is accessed via a button near the minimap.

I have no idea how to provide more detailed information, but I can definitely do it if needed, just need to know how.

Lua Error Message?

No response

hizuro commented 2 years ago

Please try https://github.com/HizurosWoWAddOns/FarmHud/releases/tag/9.0.10-beta

godlike64 commented 2 years ago

Unfortunately the issue is still there. Removed FarmHud* from Interface/Addons, installed the new ones from the zip and opened WoW, but the right-click menu is still no longer there after toggling FarmHud on and off. If you need me to run some debugging steps to help out, I can certainly do it.

godlike64 commented 2 years ago

One additional thing I noticed when this bug happens. Whenever I mouseover any node (or similar "thing") on the minimap, I stop getting the name of it pop up as it normally would. It is as if the minimap stops recognizing the mouse pointer at all.

aurae-wow commented 2 years ago

So, I ran into this issue as well after enabling FarmHud recently. It gave me an error and wouldn't load the Hud, and made the minimap essentially useless in the ways previously mentioned. After a UI reload, FarmHud loaded properly for me, but the minimap remained useless.

Since it gave me an error, I wanted to include it here just in case.

Message: [string "Minimap:SetPoint("CENTER",0,0)"]:1: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: Minimap:SetPoint.
Time: Wed Sep  7 22:20:36 2022
Count: 3
Stack: [string "Minimap:SetPoint("CENTER",0,0)"]:1: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: Minimap:SetPoint.
[string "=[C]"]: ?
[string "=[C]"]: in function `SetPoint'
[string "Minimap:SetPoint("CENTER",0,0)"]:1: in function `f'
[string "@Interface\AddOns\FarmHud\FarmHud.lua"]:649: in function <Interface\AddOns\FarmHud\FarmHud.lua:554>
[string "=[C]"]: in function `SetShown'
[string "@Interface\AddOns\FarmHud\FarmHud.lua"]:869: in function `Toggle'
[string "TOGGLEFARMHUD"]:1: in function <[string "TOGGLEFARMHUD"]:1>
hizuro commented 2 years ago

@aurae-wow: Which ui or minimap do you use?

aurae-wow commented 2 years ago

I also use ElvUI.

chriser- commented 1 year ago

Still happens with 9.1.0-beta, after opening FarmHUD once with ElvUI installed, minimap mouse interactions are no longer working (mouseover/rightclick/leftclick for ping).

Reloading UI fixes the issue until toggling FarmHUD again once.

Not depending on ElvUI version, it was not working since I started using FarmHUD months ago.

vicot commented 1 year ago

I'm experiencing the same issue. After toggling the FarmHUD off, ElvUI minimap no longer registers any mouse interactions.

I found that _G.MMHolder for "elvui special" case is nil, replacing it with

    -- elvui special
    if ElvUI_MinimapHolder and ElvUI_MinimapHolder:IsMouseEnabled() then
        mps.mmholder_mouse = true;
        ElvUI_MinimapHolder:EnableMouse(false);
    end

seems to have fixed the issue for me

hizuro commented 1 year ago

Thanks vicot. I added it and missed the counterpart when hiding the Hud. :see_no_evil:

The other point: ping on mouseclick Blizzard has made background changes in Minimap:PingLocation(X, Y); function. Currently does not work on FarmHud.

vicot commented 1 year ago

I tried the updated LUA and it still doesn't work. It seems that in current version of ELv (13.08) _G.ElvUI_MinimapHolder:EnableMouse(false); or _G.ElvUI_MinimapHolder:IsMouseEnabled() == false is what makes the minimap work, and when you set it to true when closing the hud, it breaks the ElvUI minimap😞

inverting the logic

    -- elvui special
    if _G.MMHolder and _G.MMHolder:IsMouseEnabled() then
        mps.mmholder_mouse = true;
        _G.MMHolder:EnableMouse(false);
    elseif _G.ElvUI_MinimapHolder then
        mps.elvui_mmholder_mouse = true;
        if not _G.ElvUI_MinimapHolder:IsMouseEnabled() then
            _G.ElvUI_MinimapHolder:EnableMouse(true);
        end
    end

and

    -- elvui special on hide hud
    if mps.mmholder_mouse then
        _G.MMHolder:EnableMouse(true);
    elseif mps.elvui_mmholder_mouse then
        _G.ElvUI_MinimapHolder:EnableMouse(false);
    end

so that we "enable" the mouse and make the elv minimap not clickable when opening the hud - so you can't click the now-empty holder to ping the map, and also always setting the elvui_mmholder_mouse if the elv minimap holder exists, not only when the mouse is enabled or disabled for the frame. And finally disabling it again so the minimap is clickable when closing the hud and it works great 🤔

unless there is just something weird with my UI