diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index 04ac46af1a2..424870f129f 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -118,6 +118,7 @@ void eListboxServiceContent::removeCurrent() void eListboxServiceContent::FillFinished() { m_size = m_list.size(); + m_size_visible = cursorResolve(m_size - 1) + 1; cursorHome(); if (m_listbox) diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index 35f52659087..a4fba48ce3d 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -28,9 +28,9 @@ class eListboxServiceContent: public virtual iListboxContent int getNextBeginningWithChar(char c); int getPrevMarkerPos(); int getNextMarkerPos(); - int getCurrentSelectionIndex() { return m_cursor_number; } + int getCurrentSelectionIndex() { return cursorResolve(m_cursor_number); } eSize getItemSize() { return m_itemsize; } - int getListSize() { return m_size; } + int getListSize() { return m_size_visible; } /* support for marked services */ void initMarked(); @@ -182,7 +182,7 @@ class eListboxServiceContent: public virtual iListboxContent list::iterator m_cursor, m_saved_cursor; int m_cursor_number, m_saved_cursor_number; - int m_size; + int m_size, m_size_visible; eSize m_itemsize; ePtr m_service_center;