diff --git a/src/gui/ListWidget.cxx b/src/gui/ListWidget.cxx index ae2551e8f..ee79a36f3 100644 --- a/src/gui/ListWidget.cxx +++ b/src/gui/ListWidget.cxx @@ -172,7 +172,7 @@ void ListWidget::recalc() { int size = int(_list.size()); - if(_currentPos >= size) + if(_currentPos >= size - _rows) { if(size <= _rows) _currentPos = 0; @@ -182,7 +182,9 @@ void ListWidget::recalc() if (_currentPos < 0) _currentPos = 0; - if(_selectedItem < 0 || _selectedItem >= size) + if(_selectedItem >= size) + _selectedItem = size - 1; + if(_selectedItem < 0) _selectedItem = 0; _editMode = false;