From 53e39e37eb42a168e73e51b49bc6bc4172dd2830 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 2 Nov 2021 09:36:57 +0400 Subject: [PATCH] Debug std::isnan assertion violation. --- ui/effects/ripple_animation.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ui/effects/ripple_animation.cpp b/ui/effects/ripple_animation.cpp index df9b0f52..5fbb030f 100644 --- a/ui/effects/ripple_animation.cpp +++ b/ui/effects/ripple_animation.cpp @@ -86,7 +86,15 @@ void RippleAnimation::Ripple::paint(QPainter &p, const QPixmap &mask, const QCol } if (_cache.isNull() || colorOverride != nullptr) { - auto radius = anim::interpolate(_radiusFrom, _radiusTo, _show.value(1.)); + const auto shown = _show.value(1.); + Assert(!std::isnan(shown)); + const auto diff = float64(_radiusTo - _radiusFrom); + Assert(!std::isnan(diff)); + const auto mult = diff * shown; + Assert(!std::isnan(mult)); + const auto interpolated = _radiusFrom + mult;//anim::interpolateF(_radiusFrom, _radiusTo, shown); + Assert(!std::isnan(interpolated)); + auto radius = int(base::SafeRound(interpolated));//anim::interpolate(_radiusFrom, _radiusTo, _show.value(1.)); _frame.fill(Qt::transparent); { QPainter p(&_frame);