diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f7defb8a..906448966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Bugfix: Domains starting with `http` are now parsed as links again. (#4598) - Bugfix: Fixed click effects on buttons not being antialiased. (#4473) - Bugfix: Fixed Ctrl+Backspace not working after Select All in chat search popup. (#4461) +- Bugfix: Fixed crash when scrolling up really fast. (#4621) - Dev: Added the ability to control the `followRedirect` mode for requests. (#4594) ## 2.4.3 diff --git a/src/widgets/helper/ChannelView.cpp b/src/widgets/helper/ChannelView.cpp index 12194ad4c..3d031dfa1 100644 --- a/src/widgets/helper/ChannelView.cpp +++ b/src/widgets/helper/ChannelView.cpp @@ -1362,7 +1362,8 @@ void ChannelView::wheelEvent(QWheelEvent *event) { float mouseMultiplier = getSettings()->mouseScrollMultiplier; - qreal desired = this->scrollBar_->getDesiredValue(); + // This ensures snapshot won't be indexed out of bounds when scrolling really fast + qreal desired = std::max(0, this->scrollBar_->getDesiredValue()); qreal delta = event->angleDelta().y() * qreal(1.5) * mouseMultiplier; auto &snapshot = this->getMessagesSnapshot();