LibButtonGlow-1.0 is a replacement for the ActionButton_Show/HideOverlayGlow APIs.
Using the built-in APIs will irreversibly taint the Action Button functionality, which is why it should be entirely avoided. The resulting taint is hard to track and pin-point exactly, resulting in action blocked messages when switching stances or using vehicles.
Unfortunately, even using Blizzards XML template can cause taint and will break the Action Buttons under certain circumstances. LibButtonGlow-1.0 does not use the Blizzard template, and instead offers a clean implementation in Lua only.
This library offers a simple drop-in replacement API to resolve these issues.
After about a year and a half of action bar corruption, I found out that it's not your addon that caused it. It was my own calls to StartChargeCooldown() and ClearChargeCooldown(). Fortunately, it wasn't too hard to replicate them with my own code.
Getting action bar corruption since 9.1 dropped using LibButtonGlow.
Edit: It turns out since 9.1, Blizzard made it even easier to corrupt the action bar code. I tweaked my code and the problem fixed itself.
In reply to CommandoCat64:
Will this addon be updated for 9.2? I rely on it often, and it seems to have stopped working after the 9.2 patch. Thanks!