I am using rActionbar atm, and do meet the overridebar update problem as you mentioned. But I need the button grids stay shown.
It is so weired that these code below actually work properly on vehicle buttons for rActionbar. Maybe it just need an update.
Lua Code:
local AttributeChangedFrame = CreateFrame("Frame", nil, UIParent, "SecureHandlerAttributeTemplate")
for i = 1, 12 do
local name = "ActionButton"..i
AttributeChangedFrame:SetFrameRef(name, _G[name])
end
AttributeChangedFrame:Execute([[
buttons = table.new()
for i = 1, 12 do
buttons[i] = self:GetFrameRef("ActionButton"..i)
end
]])
AttributeChangedFrame:SetAttribute("_onattributechanged", ([[
if HasOverrideActionBar() or HasVehicleActionBar() then
for i = 1, 12 do
buttons[i]:SetAttribute("state", newstate)
end
end
]]))
RegisterStateDriver(AttributeChangedFrame, "visibility", "[overridebar][vehicleui][possessbar][shapeshift] show; hide")