diff --git a/CHANGELOG.md b/CHANGELOG.md index a275570c..6e657141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ * (Aura Designer) Text-only icons no longer draw a leftover border (static or expiring). (by Krathe) * (Aura Designer) Aura icon and square borders from older profiles keep their original look after the border rework, instead of appearing thinner or floating in a gap. (by Krathe) * (Buff/Debuff) Icon borders from older profiles no longer float in a gap after the border rework — they hug the icon as before. (by Krathe) +* (Buff/Debuff) **Show Buffs / Show Debuffs** toggles now apply live without a `/reload` — already-shown auras hide or reappear immediately instead of lingering until the unit's next aura change. (by Krathe) ## [4.4.1] diff --git a/Options/Options.lua b/Options/Options.lua index af85f6cb..572df9aa 100644 --- a/Options/Options.lua +++ b/Options/Options.lua @@ -5831,7 +5831,11 @@ function DF:SetupGUIPages(GUI, CreateCategory, CreateSubTab, BuildPage) settingsGroup:AddWidget(GUI:CreateHeader(self.child, L["Settings"]), 40) local showBuffsCb = settingsGroup:AddWidget(GUI:CreateCheckbox(self.child, L["Show Buffs"], db, "showBuffs", function() self:RefreshStates() - DF:UpdateAllFrames() + -- Re-scan auras on visible frames (not just layout): the show/hide gate + -- lives in the UNIT_AURA-driven UpdateAuras path, so UpdateAllFrames alone + -- (layout-only) leaves already-shown auras until the next aura event. Use + -- the same refresh the Max Buffs slider uses. + DF:RefreshAllVisibleFrames() end), 30) -- Re-sync checked state when value changes externally (e.g. AD banner click) showBuffsCb.refreshContent = function(self) @@ -6040,7 +6044,9 @@ function DF:SetupGUIPages(GUI, CreateCategory, CreateSubTab, BuildPage) settingsGroup:AddWidget(GUI:CreateHeader(self.child, L["Settings"]), 40) settingsGroup:AddWidget(GUI:CreateCheckbox(self.child, L["Show Debuffs"], db, "showDebuffs", function() self:RefreshStates() - DF:UpdateAllFrames() + -- See Show Buffs above: re-scan auras on visible frames so a static + -- debuff hides/shows immediately instead of waiting for the next aura event. + DF:RefreshAllVisibleFrames() end), 30) local dispelHighlight = settingsGroup:AddWidget(GUI:CreateCheckbox(self.child, L["Highlight Dispellable"], db, "dispellableHighlight", nil), 30) dispelHighlight.disableOn = function(d) return not d.showDebuffs end