diff --git a/CHANGELOG.md b/CHANGELOG.md index a360fc8fea..a731a63179 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -227,6 +227,7 @@ Bug #8252: Plugin dependencies are not required to be loaded Bug #8295: Post-processing chain is case-sensitive Bug #8299: Crash while smoothing landscape + Bug #8364: Crash when clicking scrollbar without handle (divide by zero) Feature #1415: Infinite fall failsafe Feature #2566: Handle NAM9 records for manual cell references Feature #3501: OpenMW-CS: Instance Editing - Shortcuts for axial locking diff --git a/apps/openmw/mwgui/dialogue.cpp b/apps/openmw/mwgui/dialogue.cpp index 6f154bb134..e14c400978 100644 --- a/apps/openmw/mwgui/dialogue.cpp +++ b/apps/openmw/mwgui/dialogue.cpp @@ -666,7 +666,8 @@ namespace MWGui else if (scrollbar) { mHistory->setSize(MyGUI::IntSize(mHistory->getWidth(), book->getSize().second)); - size_t range = book->getSize().second - viewHeight; + // Scroll range should be >= 2 to enable scrolling and prevent a crash + size_t range = std::max(book->getSize().second - viewHeight, size_t(2)); mScrollBar->setScrollRange(range); mScrollBar->setScrollPosition(range - 1); mScrollBar->setTrackSize(