Index: D:/svn/ossrepo/icepdf/branches/icepdf-5.0.1/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java =================================================================== --- D:/svn/ossrepo/icepdf/branches/icepdf-5.0.1/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java (revision 36192) +++ D:/svn/ossrepo/icepdf/branches/icepdf-5.0.1/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java (revision ) @@ -103,6 +103,7 @@ private PageTree pageTree; private JScrollPane parentScrollPane; + private int previousScrollValue; private int pageIndex; private Rectangle pageSize = new Rectangle(); @@ -1083,9 +1084,13 @@ // if we are scrolling, no new threads if (!disposing) { - // we don't want to draw if we are scrolling + // calculate the number of pixels moved + int diff = Math.abs(previousScrollValue - + parentScrollPane.getVerticalScrollBar().getValue()); + previousScrollValue = parentScrollPane.getVerticalScrollBar().getValue(); + // we don't want to draw if scroll distance is great then 150 px. if (parentScrollPane != null && - parentScrollPane.getVerticalScrollBar().getValueIsAdjusting()) { + diff > 150) { return; } final Page page = pageTree.getPage(pageIndex);