From 4e2e344df9e4128e6195c92f9b9e3ce784ab48e6 Mon Sep 17 00:00:00 2001 From: Dusk-92 Date: Wed, 26 Aug 2026 15:33:40 +0200 Subject: [PATCH] Make smaller error frame resizing idempotent --- mods/smaller-errors-frame.lua | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/mods/smaller-errors-frame.lua b/mods/smaller-errors-frame.lua index 4e9f5c7..bcfee31 100644 --- a/mods/smaller-errors-frame.lua +++ b/mods/smaller-errors-frame.lua @@ -1,13 +1,22 @@ -local T = ShaguTweaks.T - -local module = ShaguTweaks:register({ - title = T["Smaller Error Frame"], - description = T["Resizes the error frame to 1 line instead of 3."], - expansions = { ["vanilla"] = true }, - category = T["General"], - enabled = nil, -}) - -module.enable = function(self) - UIErrorsFrame:SetHeight(UIErrorsFrame:GetHeight() / 3) -end \ No newline at end of file +local T = ShaguTweaks.T + +local module = ShaguTweaks:register({ + title = T["Smaller Error Frame"], + description = T["Resizes the error frame to 1 line instead of 3."], + expansions = { ["vanilla"] = true }, + category = T["General"], + enabled = nil, +}) + +module.enable = function(self) + -- Remember the original frame height so repeated enable() calls do not + -- keep dividing an already-resized frame (1/3, 1/9, 1/27, ...). + if not self.originalHeight then + self.originalHeight = UIErrorsFrame:GetHeight() + end + + local targetHeight = self.originalHeight / 3 + if UIErrorsFrame:GetHeight() ~= targetHeight then + UIErrorsFrame:SetHeight(targetHeight) + end +end