From 5dbe6990bd731610023d413c636c2823bd1abfeb Mon Sep 17 00:00:00 2001 From: Rasmus Karlsson Date: Mon, 6 Feb 2017 11:38:26 +0100 Subject: [PATCH] make sure scrollbar doesn't request messages out of scope --- messages/limitedqueue.h | 6 ++++-- widgets/chatwidgetview.cpp | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/messages/limitedqueue.h b/messages/limitedqueue.h index ba218a6b..9bb3d53f 100644 --- a/messages/limitedqueue.h +++ b/messages/limitedqueue.h @@ -4,6 +4,7 @@ #include "messages/limitedqueuesnapshot.h" #include + #include #include #include @@ -102,7 +103,8 @@ private: int limit; int buffer; }; -} -} + +} // namespace messages +} // namespace chatterino #endif // LIMITEDQUEUE_H diff --git a/widgets/chatwidgetview.cpp b/widgets/chatwidgetview.cpp index 0f2407aa..b5b9045f 100644 --- a/widgets/chatwidgetview.cpp +++ b/widgets/chatwidgetview.cpp @@ -49,6 +49,17 @@ ChatWidgetView::layoutMessages() int start = this->scrollbar.getCurrentValue(); + if (messages.getLength() <= start) { + // The scrollbar wants to show more values than we can offer + + // just return for now + return false; + + + // Lower start value to the last message + // start = messages.getLength() - 1; + } + int y = -(messages[start].get()->getHeight() * (fmod(this->scrollbar.getCurrentValue(), 1)));