From b25dba8069d67335e237ffc423de71b2b20de5f9 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sun, 22 Mar 2026 17:37:33 -0700 Subject: [PATCH] fix: fire ACTIONBAR_SLOT_CHANGED when assigning spells to action bar setActionBarSlot (called from PickupAction/PlaceAction drag-drop and from server-driven action button updates) updated the slot data and notified the server, but never fired the Lua addon event. Action bar addons (Bartender4, Dominos) register for ACTIONBAR_SLOT_CHANGED to refresh button textures, tooltips, and cooldown state when slots change. Also fires ACTIONBAR_UPDATE_STATE for general action bar refresh. --- src/game/game_handler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index ed340c21..bb97f4fa 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -19327,6 +19327,11 @@ void GameHandler::setActionBarSlot(int slot, ActionBarSlot::Type type, uint32_t queryItemInfo(id, 0); } saveCharacterConfig(); + // Notify Lua addons that the action bar changed + if (addonEventCallback_) { + addonEventCallback_("ACTIONBAR_SLOT_CHANGED", {std::to_string(slot + 1)}); + addonEventCallback_("ACTIONBAR_UPDATE_STATE", {}); + } // Notify the server so the action bar persists across relogs. if (state == WorldState::IN_WORLD && socket) { const bool classic = isClassicLikeExpansion();