diff --git a/GUI_Detail.lua b/GUI_Detail.lua index fb143ab..c25b9ae 100644 --- a/GUI_Detail.lua +++ b/GUI_Detail.lua @@ -476,14 +476,18 @@ function Recount:WrapFontString(fontstring, maxwidth) local Returning = "" local Temp, NextWhite - while fontstring:GetStringWidth() > maxwidth do + local ok, sw = pcall(fontstring.GetStringWidth, fontstring) + while ok and type(sw) == "number" and not (issecretvalue and issecretvalue(sw)) and sw > maxwidth do Temp = string.reverse(Text) local _ _, NextWhite = string.find(Temp,"( +)") + if not NextWhite then break end + Returning = string.sub(Text, string.len(Text) - NextWhite + 1, string.len(Text))..Returning Text = string.sub(Text, 1, string.len(Text) - NextWhite) fontstring:SetText(Text) + ok, sw = pcall(fontstring.GetStringWidth, fontstring) end return Returning end diff --git a/GUI_Graph.lua b/GUI_Graph.lua index ea50e6a..d73a90e 100644 --- a/GUI_Graph.lua +++ b/GUI_Graph.lua @@ -746,9 +746,11 @@ end function Recount:CheckFontStringLength(fontstring, maxwidth) local Text = fontstring:GetText() - while fontstring:GetStringWidth() > maxwidth do + local ok, sw = pcall(fontstring.GetStringWidth, fontstring) + while ok and type(sw) == "number" and not (issecretvalue and issecretvalue(sw)) and sw > maxwidth do Text = string.sub(Text, 1, string.len(Text) - 1) fontstring:SetText(Text.."...") + ok, sw = pcall(fontstring.GetStringWidth, fontstring) end end