- m_prev_scrollbar_page = curVisiblePage;
- int pages = entries / m_items_per_page;
- if ( (pages*m_items_per_page) < entries )
- ++pages;
- int start=(m_top*100)/(pages*m_items_per_page);
- int vis=(m_items_per_page*100)/(pages*m_items_per_page);
- if (vis < 3)
- vis=3;
- m_scrollbar->setStartEnd(start,start+vis);
+ int curVisiblePage = m_top / m_items_per_page;
+ if (m_prev_scrollbar_page != curVisiblePage)
+ {
+ m_prev_scrollbar_page = curVisiblePage;
+ int pages = entries / m_items_per_page;
+ if ( (pages*m_items_per_page) < entries )
+ ++pages;
+ int start=(m_top*100)/(pages*m_items_per_page);
+ int vis=(m_items_per_page*100)/(pages*m_items_per_page);
+ if (vis < 3)
+ vis=3;
+ m_scrollbar->setStartEnd(start,start+vis);
+ }