promotional bannermobile promotional banner

BazWidgetDrawers

Slide-out side drawer for a stack of dockable widgets: Quest Tracker, Minimap, Info Bar, Repair, and more. Fades out when unused, pops back on hover. Other addons can register their own widgets via the BazCore DockableWidget API.

File Details

050

  • R
  • May 2, 2026
  • 111.76 KB
  • 5
  • 12.0.5
  • Retail

File Name

BazWidgetDrawers-050.zip

Supported Versions

  • 12.0.5

BazWidgetDrawers

050 (2026-05-02)

Full Changelog Previous Releases

  • BazWidgetDrawers v050 - Combat-deferred WidgetHost reflow. Fixes ADDON_ACTION_BLOCKED errors when a dormant widget transitions during combat. The trace was: dormant widget condition flips during combat -> LBW callback fires -> WidgetHost:Reflow runs -> Reflow tries to DisableWidget on a different widget whose frame parents secure children (BazWidgets Trinket Tracker uses SecureActionButtonTemplate buttons inside its widget frame) -> widget.frame:Hide() called on a frame containing protected children -> taint system blocks the call. Solution is to defer all structural mutations until PLAYER_REGEN_ENABLED. New self._combatWatcher event frame in WidgetHost:Initialize listens for PLAYER_REGEN_ENABLED and replays any deferred work in order: pending Reflow runs first, then queued DisableWidget calls, then queued Float/Dock calls. The mutation entry points - Reflow, DisableWidget, FloatWidget, DockWidget - each check InCombatLockdown at the top and either set self._reflowPending = true and return, or push themselves into self._pendingDisable / self._pendingFloat lists for the watcher to flush. Cosmetic refreshes (titlebar text, status text, slot:Show on already-shown frames) keep working during combat - only structural changes that touch protected children are deferred. The trinket tracker widget itself was the original blame target because its widget.frame is the parent of two SecureActionButtonTemplate slot buttons; that's an inherent constraint of how that widget works (click-safe trinket use), not a bug in BWD - so we fix the blast radius at the host instead. No behavior changes outside combat, bump to 050