Calling bar:UpdateStates() on every zone load was the most likely path
to the "AddOn 'Bartender4' prevented the call of the secure function
'SecureStateDriverManager:SetAttribute()'" warning — RegisterStateDriver
runs internally and every zone fired it across all bars, sometimes
while Bartender's own init was still resolving secure state.
- Drop PLAYER_ENTERING_WORLD as a trigger. Bartender's own init handles
the initial state; UPDATE_SHAPESHIFT_FORMS fires when forms become
resolvable on login, so the original intent still holds.
- Cache the shapeshift-form signature and skip the refresh if it hasn't
actually changed since last run. Avoids redundant secure attribute
churn from routine UPDATE_SHAPESHIFT_FORMS spam.
- Combat-lockdown guard + PLAYER_REGEN_ENABLED queue-drain unchanged.