Vuhdo spells even if not over raid frames #442

  • Defect
  • Waiting
Assigned to Ivaria
  • Enkilou created this issue Feb 12, 2015

    What steps will reproduce the problem?
    1. In the middle of a boss fight suddenly the only spells that work are those mapped to Vuhdo
    2. Reload UI

    What is the expected output? What do you see instead?
    I expect to use KB or mouse non vuhdo spells if I am not hovering over my raid frame

    What version of the product are you using?

    Do you have an error log of what happened?

    Please provide any additional information below.
    Even my keyboard spells dont work. I can only click the spell on the Elvui

  • Enkilou added the tags New Defect Feb 12, 2015
  • Enkilou posted a comment Feb 15, 2015

    This bug is making mythic healing almost impossible because it stops me using my offensive spells - and as a disc priest this is a major problem. The fact that it happens in the middle of the fight makes it even worse. Sometimes it does resolve itself in the same fight but then the error occurs again minutes later. I did read a post somewhere where someone had exactly the same problem.

  • BlueRajasmyk posted a comment Feb 15, 2015

    What addons are you using?

  • Enkilou posted a comment Feb 16, 2015

    Elvui Bigwigs Hermes Angry Skada Quartz MRT Epgp Lootmaster WeakAuras2 WiM

  • Ivaria unassigned issue from humfras Feb 18, 2015
  • Ivaria self-assigned this issue Feb 18, 2015
  • Ivaria posted a comment Feb 18, 2015

    Hi Enkilou,

    How are you using key bindings in VuhDo exactly? Are you mapping via 'Keys local' or 'Keys global'?

  • Ivaria removed a tag New Feb 18, 2015
  • Ivaria added a tag Waiting Feb 18, 2015
  • Enkilou posted a comment Feb 19, 2015


    I map via 'keys local'. I don't have any mapped 'keys global'.

  • Enkilou removed a tag Waiting Feb 19, 2015
  • Enkilou added a tag Replied Feb 19, 2015
  • Ivaria posted a comment Feb 19, 2015

    @Enkilou: Go

    Hey Enkilou,

    Can you try using keys global and see if the issue persists?

    Anything else you can think of to indicate when this occurs or how to reproduce it reliably?


  • Ivaria removed a tag Replied Feb 19, 2015
  • Ivaria added a tag Waiting Feb 19, 2015
  • Enkilou posted a comment Feb 20, 2015


    Do you want me to remove all keys local and only have keys global?

  • Enkilou removed a tag Waiting Feb 20, 2015
  • Enkilou added a tag Replied Feb 20, 2015
  • Ivaria posted a comment Feb 20, 2015

    @Enkilou: Go

    Yeah could you try that? I just want to see if the problem is localized to keys local.

    I can't reproduce myself unfortunately.

  • Ivaria removed a tag Replied Feb 20, 2015
  • Ivaria added a tag Waiting Feb 20, 2015
  • Sixthly posted a comment Feb 21, 2015

    I am also experiencing this issue as a Discipline Priest.

    I have a macro to cast Smite on enemy targets, and Flash Heal on friendly targets. This macro is bound to "1" in Bartender4. Additionally, to handle edge cases, I have the spell "Flash Heal" bound to "1" in VuhDo.

    The reason this is not purely achieved through a macro is because I only want mouseover to work on my raid frames. Otherwise, if I move my cursor off of VuhDo to attack an enemy target, I could accidentally mouse over a player in the game world and cast Flash Heal instead.

    The macro is as follows:

    #showtooltip Flash Heal
    /cast [harm,exists] Smite; Flash Heal

    The bug is extremely rare, but when it does happen, pressing "1" will cast whatever is bound in VuhDo, and not the macro.

    Edited Feb 21, 2015
  • Ivaria posted a comment Feb 24, 2015

    Hmm a couple of you have reported this now but I can't reproduce it myself. Please see if you can tell if the problem is localized to keys local or keys global or both types of mouseovers.

    From my understanding the OnLeave callback should be triggered on the button frame when your mouse moves off VuhDo. This should clear the key binding but I guess is some edge case this is not happening.

    I will try and see if I can reproduce this on a target dummy as shadow. It's weird I have never seen this healing before though.

  • Ivaria removed a tag Replied Feb 24, 2015
  • Ivaria added a tag Waiting Feb 24, 2015
  • youvehadyoursix posted a comment Mar 22, 2015

    I have this problem too.  
    I use Vuhdo for my complete unitframes; self, target, and raid, on all my characters.  On my warrior I have Intervene set to mousewheel up and down in the main vuhdo spells page, and it remains zoom in/out for global usage.  Occasionally it will glitch and regardless of where I am on the screen it will insist on trying to cast intervene.  The cursor changes to the bordered hand like it's looking for a valid target.  I've found I can usually fix this by madly left/right clicking various vuhdo panels (which is just target/menu for me) and after a number of inputs it finally goes back to normal.

    (also hey, can you add panel-specific opacity on combat please!!)

  • youvehadyoursix removed a tag Waiting Mar 22, 2015
  • youvehadyoursix added a tag Replied Mar 22, 2015
  • milkmandan posted a comment Apr 15, 2015

    Same problem here, and I've not yet been able to characterize the conditions under which it occurs, either.

    I don't understand what you want us to test with "keys global", Ivaria. As I understand it (and I could be wrong here), use of keys global will map the same action to each particular button, regardless of whether the mouse cursor is over the Vuhdo frame or not. There won't be any way for us to tell that the problem has occurred, since the same action will take place regardless. I'm sure I'm missing the point, though.

    BTW, just want to say that I appreciate your hard work on Vuhdo. If we didn't like it so well, we would try to find another mod instead of trying to help debug this.

  • Ivaria posted a comment Apr 18, 2015

    Addtional info from Curse comments:

    "I've used Vuhdo since it same out on every class and role, but a bug has always existed that i've never seen solved, and it's a big one. Every once in a while my normal keybinds completely stop working (keeps on trying to cast Vuhdo keybind actions even not moused over them) and I have to reload UI, which sucks mid fight, not to mention causes weird things like autoattack stopping, etc. This only has happened when Vuhdo is enabled. I've looked for the answer for years on sites like Plusheal. Several have brought this up, but no one seems to know. Has anyone solved this issue yet?

    Last edited by machinelf on 13 April 2015"

  • martialblack87 posted a comment Jun 12, 2015

    This was happening to me last night. I use a mixture of keys local and mouse for all of my bindings. It would randomly happen where I could no longer use any spells when not hovered over vuhdo, which wasn't too big of a deal unless I wanted to offensive penance....

    Another thing, which may be related is that sometimes I would get "stuck"' on a certain target when not moused over vuhdo. For example, I would have Sorka targeted on IM and try to use an offensive penance, however my penance would still go to our Warlock even though he was not targeted by me and my cursor was nowhere near vuhdo.

    Hope this helps you figure it out, I love Vuhdo!

    Also one more thing, for some reason I do not see the debuff icon when I can dispel it, instead I just get the bar changing colors, would be nice to still see the debuff icon and have the bar change colors.

  • Ivaria posted a comment Jul 29, 2015

    Another ticket was filed for this same issue:

    What steps will reproduce the problem? 1.I have some keybinds for 2 seperate spells. for example My mouse wheel up bind is Mind Sear on player for Vuhdo but if I dont hover over vuhdo I scroll up to cast holy nova. Sometimes this gets stuck casting mindsear on a certain target whenever I use mouse wheel up even though the cursor is not currently on Vuhdo. This happens occasionally when I die and rarely in combat. Any keybinds on action bars will go to that target rather than my targeted player/enemy however vuhdo hover keybinds works perfectly fine so this mainly interrupts my dps rotation during combat and can be frustrating when I can't cast on targets. 2. To fix it I find I have to go to the player that I keep mind searing on and casting a spell on him to unlock my cast target from only being that player. Sometimes this doesnt work and I cast spells randomly until it stops autotargeting on that player.

    What version of the product are you using? v3.66

  • milkmandan posted a comment Sep 21, 2015

    My workaround for this is to map the side buttons on my mouse (a Razer Naga) to shift-1 through shift-=, then write mouseover macros for those slots on my action bar.  For example:

    #showtooltip Displacer Beast
    /cast [@mouseover, help, exists] Ironbark;Displacer Beast

    The benefit is that I no longer have to use Keys Local, but can keep using the other features of VuhDo, which I consider to be the best healing mod by a wide margin.  One drawback: if your mouse cursor happens to be positioned over a friendly player on the game field when the button is pressed, the mouseover portion of the macro will fire, leading to some unintended spellcasts until you get used to it.  Worth training myself to watch for that, IMO, and far better than buttons that only work sometimes.

  • player40344 posted a comment May 17, 2016

    Can we revive this ticket please, this problem regularly plagues me.

    I am using the newest version "v3.71-beta-10"

    The problem spans both keys local and keys global. meaning both keyboard inputs and mouse inputs.

    The problem only every occurs in raids after a few wipes, an evening with no wipes have never resolved in the issue as far as I have experienced.

    And it dosen't seam to be present before the combat in which i have noticed it.

    To give an exampel of the issue. Tonight on mythic gorefiend i was healing, then switched to retri. (spec swap has nothing to do with the issue that i have noticed) I have shift+2 bound be exorcism (retri only spell) on my action bars and on vuhdo under keys local shift+2 is assigned to the spell (not macro) Light of Dawn (holy only spell) but I could't use exorcism because no matter where my mouse was it was acting as if I was hovering over vuhdo.

    This is not the only bind i have on keys local that is shared with my normal action bars. On 2 for instance I have a iskar throw the eye macro on vuhdo keys local but on my action bars it is a spell.

    When the issue occurs when left clicking anywhere on the screen Holy Light is cast which is my left mouse button bind (not keys local).

    Sorry for the long post but I attempted to get as much information to you as I could, if you have any other information you would like me to provide feel free to ask and I shall provide it as soon as possible.

  • Ivaria posted a comment Jun 20, 2016

    Sadly no real fix for this bug. However, someone asked about in on the MMO-C forums so I am updating this ticket with a link to that discussion and some more possible workarounds.

    Unfortunately I still do not know of a way to fix this bug. Basically it seems to be a bug in the OnEnter/OnLeave handlers work where the WoW client gets confused even after your mouse has left a frame and still thinks you are inside the frame when you are not. This means that previous frame now traps the key/mouse binds even though they should be coming from the correct frame which should actually have focus.

    The bug has existed for many years now and neither Iza (original author) nor myself (current author) have been able to figure out why this happens. It is particularly strange because the bug only happens for some clients and even then very infrequently under seemingly random conditions. I've personally only experienced this a few times in many years and can never reproduce it.

    One thing that does seem to be common among users who experience this issue is that they are holding down a mouse button or key for a long time while moving on and off VuhDo frames. Also repeatedly spamming the button while moving on and off the frames sometimes correlates with manifestations of the bug. Mouse wheel bindings are a common source of trouble due to this and ensuring that you only bind instant spells can help but obviously isn't useful for most binds.

    You can read more about this bug in an old thread over on the now defunct forum.

    Here are some suggestions for you to try to workaround this issue if it regularly plagues your client:

    • Try using keys global rather than keys local. The issue seems to manifest just for mouse and keyboard local bindings.
    • Try using a macro for your spell casts that allows you to conditionally cast spells for VuhDo frames: /cast [@mouseover,noexists] Silence; [@vuhdo,help,nodead] Flash Heal
    • Try using Clique with VuhDo instead of built in bindings.

    I'll update the ticket you reference to contain this information as well. I really wish there was more I could do to fix this and suggestions are always welcome.

  • Ivaria removed a tag Replied Jun 20, 2016
  • Ivaria added a tag Waiting Jun 20, 2016
  • Saibantes posted a comment Nov 3, 2016

    I was having this issue a lot lately, so I would like to share my observations. After almost two months of debugging, I came to the conclusion that the issue (or maybe one of multiple issues) is the following:

    • VuhDo uses the secure template attributes _onenter to create an override binding and _onleave to remove this binding again.
    • However, _onleave is only called when the mouse moves out of the frame, not when it is suddenly covered by a different frame.

    Ways to Reproduce

    • Configure some "Keys Local", the same keys should be bound to something else (such as a hotbar key).
    • Move the VuhDo window to a place where a different window (e.g. the backbacks or talents) normally opens.
    • Move the mouse onto a VuhDo healing button.
    • Use a key binding to open the window that obstructs VuhDo.
    • (optionally) Move the mouse away, close the window again.
    • Use the key binding -> it is still bound to VuhDo. Note that the window covering VuhDo may also be a tooltip, even VuhDo's own tooltip (though that one flickers in that case, causing the issue to appear only sometimes).

    Debugging Aid

    Instead of checking if the key bindings still work, it could be easier to change _onenter and _onleave to print a message to the default chat window:
    In VuhDoKeySetup.lua, function VUHDO_setupAllHealButtonAttributes, around line 320, initialize tWheelDefString as follows:
    tWheelDefString = "print(\"_onenter\",self:GetName());self:ClearBindings();";
    Around line 329, change _onleave as follows:
    aButton:SetAttribute("_onleave", "print(\"_onleave\", self:GetName());self:ClearBindings()");

    Source of the Issue

    In Blizzard code, FrameXML/SecureHandlerTemplates.xml, the <OnEnter> of SecureHandlerEnterLeaveTemplate is checking for motion. It will not call the attributed code if the event was not caused by mouse motion.

    Ideas for Possible Changes

    While out of combat, this line will help:
    aButton:HookScript("OnLeave", function(self) if not InCombatLockdown() then ClearOverrideBindings(self);end; end);
    I have no idea how to fix this in combat, maybe it is not even possible.

    The following will not resolve the issue, but make the outcome less severe: When a faulty key press is detected, it will remove the binding, therefore only the first key press will errornously go to VuhDo:
    In VuhDoPanel.xml, make VuhDoButtonSecureTemplate and VuhDoDebuffIconTemplate also inherit SecureHandlerMouseUpDownTemplate. Then:
    aButton:SetAttribute("_onmousedown", "if not self:IsUnderMouse(false) then self:ClearBindings(); end");
    I observed that even with this change sometimes two key presses go to VuhDo; more debugging prints have shown that multiple buttons had key binding overrides at the same time - I still don't understand why.

    One minor thing: I don't understand why the debuf icons are buttons themselves. They don't seem to do anything that the "normal" button below them won't do anyway. My first idea was to change this, so that fewer buttons can possibly have faulty overrides. This could be achieved by the following (still in the same function as everything above):
    if not VUHDO_BUTTON_CACHE[aButton] then aButton:EnableMouse(false); end;
    (Changing the attribute corresponding to EnableMouse in the XML doesn' work.)
    However, I am no longer convinced that such a change would help in the matter.

    Further Observations

    A similar issue appears when SecureHandlerWrapScript is used with "OnLeave", because of the way Wrapped_OnLeave is implemented in FrameXML/SecureHandlers.lua : It too checks for motion. This makes me believe that exacly this behavior is intentional, maybe you could write a decision making addon (-> bot) by intentionally showing and hiding frames over a button.

    The same issue as with _onleave is present with _onenter: If closing a UI window makes the mouse cursor suddenly hover over a VuhDo button, the key binding won't be established. This seems to be true for the normal OnEnter scripting (without secure template stuff) as well.

  • Saibantes removed a tag Waiting Nov 3, 2016
  • Saibantes added a tag Replied Nov 3, 2016
  • Ivaria posted a comment Nov 3, 2016

    @Saibantes: Go

    Great detective work! I will read through all this and look into it when I get back from Blizzcon.

  • Ivaria posted a comment Nov 21, 2016

    Try VuhDo alpha build r250 or newer (v3.80).  I've incorporated the '_onmousedown' workaround as you've suggested.


    Since I rarely have this issue occur myself but anyone who experiences it periodically try and test this.


    Big thanks @Saibantes.

    Edited Nov 21, 2016

To post a comment, please login or register a new account.