Bug Hotfix – X-Perl UnitFrames right click dispell buff workaround

This is a very specific, focused blog post to address one specific issue.

I, like many others, do not like the default WoW user interface.

I prefer, no, scratch that, I LOVE the X-Perl UnitFrames UI addon.

The changes it implements, on the surface, seem relatively minor, but there is a ton of power lurking under the hood. I like minimalist designs that provide me with tons of tools, designs that leave the majority of the screen real estate for me to actually see the game. If I wanted to see a ton of text describing the action, I’d play Zork.

With the introduction of Patch 4.0.1, there is an existing known bug with Raid UnitFrames addons in general.

The problem is that if you try and right-click onto buffs to dispel them in your addon, it will introduce what is called a “Taint”, and that causes bad things.

In X-Perl UnitFrames, the ability to right-click to dispell buffs has been temporarily disabled to prevent “Taints” from occuring.

If you use X-Perl, it also currently prevents you from right-clicking buffs displayed by the normal UI.

For just a second, I’m going to quote a description of Taints, just so you know I’m not talking ’bout “Taint one thing nor the other”, ’cause I know my audience.

From a discussion on WoWwiki;

When WoW starts executing lua code, the execution starts off ‘secure’, and able to run protected functions. Execution remains secure until it encounters ‘taint’ – which is an indicator that a function or object came from an untrusted (AddOn or /script) source. The basic idea is that execution becomes ‘tainted’ as soon as it reads tainted data or executes tainted code, and any data written by a tainted execution is itself tainted. Protected functions refuse to operate when called from an execution path that is not secure.

When the UI first loads, all code and data from Blizzard signed FrameXML and AddOns (plus their saved variables) is secure, and all code and data from user provided AddOns (plus their saved variables) is tainted.

 Okay, so right now, if you love and want to run X-Perl UnitFrames but run into buffs you need to be able to click off, you have to either logout your character to disable your addon, use another addon that allows you to temporarily disable addons from within the game without logging out, (such as Addon Control Panel), or specifically cancel the buff by using a line item command such as “/cancelaura Buffname”.

Is this earth shattering? Of course not.

At least, not unless, oh, they did something like release a All Hallows Eve holiday event a week after the patch that includes Trick or Treating, and the tricks gave you buffs of costumes that last an hour… some of which prevent you from mounting. Or spellcasting. Buffs that… needs to be canceled. Right click style canceling.

Oh wait… Doh!

So, for you few peeps out there that love your X-Perl as much as I do, and want to keep using it, but are sick and tired of having to disable the addon in order to right click your Tricks to dispell them, here’s a solution that finally works.

First, make sure you have the very latest beta build of X-Perl. To do this, you have to visit the project page for X-Perl UnitFrames at WoWAce. They’re posting fresh builds constantly as they make corrections.

Second, with your current X-Perl UnitFrames Options open, go to the Player Tab. Within the Player Tab, look at the Player Buffs section and UNCHECK the “Hide Default Buffs” checkbox.

What this has done is display the default WoW UI buff panel, in addition to your X-Perl setup. Yes, a second set of buffs. For me, it’s worth it.

Now, this alone has not fixed the problem. There is one extra step you have to take.

Remember the description of a “Taint”, from above? It all comes from running code that isn’t “secure”. Code that is secure comes from Blizzard’s FrameXML data, then takes input from addons.

Well, as a purely short term fix, here is what you can do;

Go to the official Blizzard download site for the Interface Addon Kit, and download the appropriate version for your language. In my case, that’s US-English.

When you unzip that file, you copy the FrameXML folder, and you place it in your World of Warcraft game folder, at C:Program FilesWorld of WarcraftInterface (or whatever your destination folder may be, ending within the Interface folder).

This establishes the correct baseline FrameXML data for you to fall back on when right clicking those buffs on the default WoW UI buff bar.

Now, this is strictly a short term solution for JUST until there is a new patch.

The reason for this is, FrameXML is establishing a set of frame data specific to the game build it was created for. If a significant patch is released changing the frames (or actually fixing the core issue causing the bug in the first place), leaving this FrameXML in there will cause you lots of headaches.

BUT… for the pure short term, it will correct the problem. 

Can you believe the bug has annoyed me so much I went to these lengths to find a solution?

Wanna know what really annoys me? I start writing this, go to various websites looking up links to copy to send you to the right reference locations, and what do I find? A poster named Twintails over at WoWAce posted this solution already, just hours before I started the post.

I hereby proclaim this entire idea as belonging to Twintails, and I thank them very, very much for their helpfulness to the community. Especially since I don’t really know anything about addons, and I was only guessing at things to try and make it work, and clearly they actually knew what they were doing and went to the Interface Addon Kit intentionally.

I just wish I’da seen that before I started writing.

UPDATE: This post was correct as of X-Perl UnitFrames beta build r448, and the patch status as of 10/20/10.

18 thoughts on “Bug Hotfix – X-Perl UnitFrames right click dispell buff workaround

  1. Thank you very, very much. I too love x-perl… and am glad they are still updating this addon; it seemed for a time they were going to just abandon it.


  2. The gear icon bug isn’t vuhdo specific… I encountered it without Vuhdo… seems like it’s pretty random, but nasty.


  3. Should note that with the exception of the Weighted Jack-o’-Lantern, all of these costumes are removable by popping into your Druid form of choice. Whee polymorph immunity?


  4. I use Satrina Buff Frames for buff/debuff tracking (more customization than I could ever use but great at tailoring what I see depending on which toon I’m on). Similar issue as with X-Perl and almost the same answer. The Interface Addon kit seems to be the answer for a lot of things.

    Anyone got an answer for the mouseover gear icon bug? Disabling Vuhdo seems to have fixed it for me (so far) but sure makes it a pain to heal. Healbot, here I come…


  5. Just because its intentional doesn’t mean it isn’t a bug. Bad but functional design gets marked as a bug in my projects every day. Its clearly a horrible idea to allow so much customization of the UI, but then disable basic interactions with customized buttons. Basically they decided there was a security problem with addons turning off buffs, and rather than re-engineer a proper solution they did this ad-hoc fix.

    I switched over to using Raven as my buff display. They have a nice workaround, where you can re-enable the Blizz buff display from your DataBroker display.


  6. The change stinks… I just want to use something like Elkano’s Buff bars. I use pitbull for my unit frames, but like a discrete buff/debuff list, and the stock blizzard buffs take up too much darn space, and doesn’t give me the the information I want/need.

    The saddest thing is I cleared out my WTF and reinstalled all addons to remove the chaff after the patch, and spent a few hours re-doing things to build my UI back up to what I wanted, then I zone into a AB after being tricked, and am flying around as a bat and can’t figure out how to remove the costume. No one seemed to want to damage me, so I jump off the LM, take 90% damage and then get hit by the ‘gear icon’ bug by mousing over the Blacksmith flag. By the time I got back to the game I had the deserter debuff. Boo.

    Patches are fun, I don’t envy the addon authors who have to deal with these little ticky-tack changes each time around.


  7. Oooh.. XPerl… I used to love it too. Than I fell in love with AG_UnitFrames, and that broke. I moved on to Pitbull3 at that point, and just now moved to Pitbull4. I don’t think I’ll ever go back again.


  8. It’s not a bug. Blizz purposely made it so you coudln’t click off buffs. It’s now a protected function. Only macros will do the job (/cancelaura) from here on out. The change has been noted in the WoW UI forums for quite some time.


  9. I did finally install TidyPlates like you’ve suggested, to get around the vanishing health bar bug. I think I’ll stick with them even after Blizzard fixes the stock ones.


  10. I’ve been doing without XPerl instead of trying the beta builds. The new default raid frames are serviceable, but I still feel half blind without XPerl. Maybe I should have a look at that beta.


  11. Hey, i want to make sure people don’t get the wrong idea… I don’t know anything about addon structure, and I stumbled on this as only one of a LOT of things I’ve been trying to get an easy way to right click off buffs. I have no idea why this got under my fur the way it did, but I tried… I really tried to run with the default UI for a night, and at the end I just didn’t want to play at all.

    Twintails, on the other hand, clearly DOES know what they’re doing, thought that using the FrameXML data might work, and after finding out it did, reported it back in his (or her) own bug report thread. That right there is being knowledgeable and helpful to the entire community, and that’s the way it should be done. not some idiot like me that might be telling people how to corrupt their system.

    Oh, and it still works with X-Perl version r450.


  12. Nice one!

    Especially given the credit for a simultaneous discovery to someone else (considering TreeBarkJackets rant of the day).

    You both deserve pops for this.

    Until now, my solution was to crack a beer and go and watch TV for an hour, or rush at the Horde looking forward to my immanent death (not dissimilar to my normal BG strategy).

    Guess I gotta do stuff now…


Comments are closed.