From b9fa14139a41b1f8617c34168e508b74625d5c33 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 12 Oct 2023 16:59:29 +0300 Subject: [PATCH] Fixed possible wrong range of clamp in footer of chart widget. --- Telegram/SourceFiles/statistics/chart_widget.cpp | 6 +++++- .../SourceFiles/statistics/view/stack_linear_chart_view.cpp | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/statistics/chart_widget.cpp b/Telegram/SourceFiles/statistics/chart_widget.cpp index 4d96d8c1b..f63fbfab3 100644 --- a/Telegram/SourceFiles/statistics/chart_widget.cpp +++ b/Telegram/SourceFiles/statistics/chart_widget.cpp @@ -420,7 +420,11 @@ void ChartWidget::Footer::moveSide(bool left, float64 x) { if (_width < (2 * w + mid)) { return; } else if (left) { - const auto min = std::clamp(x, 0., _rightSide.min - w - mid); + const auto rightLimit = _rightSide.min - w - mid; + const auto min = std::clamp( + x, + 0., + (rightLimit <= 0) ? _widthBetweenSides : rightLimit); _leftSide = Limits{ .min = min, .max = min + w }; } else if (!left) { const auto min = std::clamp(x, _leftSide.max + mid, _width); diff --git a/Telegram/SourceFiles/statistics/view/stack_linear_chart_view.cpp b/Telegram/SourceFiles/statistics/view/stack_linear_chart_view.cpp index 6402b8eea..d63b5b79a 100644 --- a/Telegram/SourceFiles/statistics/view/stack_linear_chart_view.cpp +++ b/Telegram/SourceFiles/statistics/view/stack_linear_chart_view.cpp @@ -742,7 +742,6 @@ void StackLinearChartView::paintPieText(QPainter &p, const PaintContext &c) { : (minScale) + percentage * (maxScale - minScale); const auto text = parts[k].percentageText; const auto textW = font->width(text); - const auto textH = font->height; const auto textXShift = textW / 2.; const auto textYShift = textW / 2.; const auto textRectCenter = rectF.center() + QPointF(