From 28fd6c50c4ffae748aec5666e4cd71581ebc8422 Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Sat, 30 Nov 2024 16:53:03 +0100 Subject: [PATCH] search box scroll fix --- client/windows/GUIClasses.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/windows/GUIClasses.cpp b/client/windows/GUIClasses.cpp index ddc78eace..e745653f6 100644 --- a/client/windows/GUIClasses.cpp +++ b/client/windows/GUIClasses.cpp @@ -1508,7 +1508,7 @@ CObjectListWindow::CObjectListWindow(const std::vector & _items, std::share itemsVisible = items; init(titleWidget_, _title, _descr, searchBoxEnabled); - list->scrollTo(initialSelection - 4); // -4 is for centering (list have 9 elements) + list->scrollTo(std::min(static_cast(initialSelection + 4), static_cast(items.size() - 1))); // 4 is for centering (list have 9 elements) } CObjectListWindow::CObjectListWindow(const std::vector & _items, std::shared_ptr titleWidget_, std::string _title, std::string _descr, std::function Callback, size_t initialSelection, std::vector> images, bool searchBoxEnabled) @@ -1528,7 +1528,7 @@ CObjectListWindow::CObjectListWindow(const std::vector & _items, st itemsVisible = items; init(titleWidget_, _title, _descr, searchBoxEnabled); - list->scrollTo(initialSelection - 4); // -4 is for centering (list have 9 elements) + list->scrollTo(std::min(static_cast(initialSelection + 4), static_cast(items.size() - 1))); // 4 is for centering (list have 9 elements) } void CObjectListWindow::init(std::shared_ptr titleWidget_, std::string _title, std::string _descr, bool searchBoxEnabled) @@ -1653,7 +1653,7 @@ void CObjectListWindow::keyPressed(EShortcut key) } vstd::abetween(sel, 0, itemsVisible.size()-1); - list->scrollTo(sel - 4); // -4 is for centering (list have 9 elements) + list->scrollTo(sel); changeSelection(sel); }