From 28714deff687be9a3e0248c6073d5f7e4f488384 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 23 Aug 2022 21:05:03 +0200 Subject: [PATCH] PixelPaint: Avoid division-by-zero in HistogramWidget This is more of a hack fix than anything else, but let's stop PixelPaint from infinite-looping in HistogramWidget::paint_event(). --- Userland/Applications/PixelPaint/HistogramWidget.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Userland/Applications/PixelPaint/HistogramWidget.cpp b/Userland/Applications/PixelPaint/HistogramWidget.cpp index d84cd3cf36..d8003a3482 100644 --- a/Userland/Applications/PixelPaint/HistogramWidget.cpp +++ b/Userland/Applications/PixelPaint/HistogramWidget.cpp @@ -89,10 +89,10 @@ ErrorOr HistogramWidget::rebuild_histogram_data() m_widget_height = height(); for (int i = 0; i < 256; i++) { - m_data.red[i] = (static_cast(m_data.red[i]) / max_color_frequency) * m_widget_height; - m_data.green[i] = (static_cast(m_data.green[i]) / max_color_frequency) * m_widget_height; - m_data.blue[i] = (static_cast(m_data.blue[i]) / max_color_frequency) * m_widget_height; - m_data.brightness[i] = (static_cast(m_data.brightness[i]) / max_brightness_frequency) * m_widget_height; + m_data.red[i] = m_data.red[i] != 0 ? (static_cast(m_data.red[i]) / max_color_frequency) * m_widget_height : 0; + m_data.green[i] = m_data.green[i] != 0 ? (static_cast(m_data.green[i]) / max_color_frequency) * m_widget_height : 0; + m_data.blue[i] = m_data.blue[i] != 0 ? (static_cast(m_data.blue[i]) / max_color_frequency) * m_widget_height : 0; + m_data.brightness[i] = m_data.brightness[i] != 0 ? (static_cast(m_data.brightness[i]) / max_brightness_frequency) * m_widget_height : 0; } update();