From de5ac4c8c26d547230144b94673c3435b5012967 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Sat, 18 Feb 2023 13:20:22 +0100 Subject: [PATCH] Fix crash for empty string --- src/changevaluedisplay_string.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/changevaluedisplay_string.cpp b/src/changevaluedisplay_string.cpp index 20817ce..e1c83bc 100644 --- a/src/changevaluedisplay_string.cpp +++ b/src/changevaluedisplay_string.cpp @@ -45,9 +45,9 @@ void espgui::ChangeValueDisplay::redraw(TftInterface &tft) FontRenderer fontRenderer{tft}; const auto now_ts = espchrono::millis_clock::now().time_since_epoch(); - const auto char_width = fontRenderer.textWidth(m_value, 4) / ((!m_value.empty()) ? m_value.size() : 1); - const auto maxChars = (tft.width() - 40) / char_width; - const auto substr_from = std::max(0U, m_value.size() < maxChars ? 0 : static_cast(m_value.size()) - maxChars); + const uint16_t char_width = fontRenderer.textWidth(m_value, 4) / ((!m_value.empty()) ? m_value.size() : 1); + const int16_t maxChars = char_width > 0 ? ((tft.width() - 40) / char_width) : 0; + const auto substr_from = std::max(0, m_value.size() < maxChars ? 0 : static_cast(m_value.size()) - maxChars); const auto string = m_value.substr(substr_from); if (m_needsClear)