Index: src/org/eclipse/jface/viewers/deferred/ConcurrentTableUpdator.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface/src/org/eclipse/jface/viewers/deferred/ConcurrentTableUpdator.java,v retrieving revision 1.8 diff -u -r1.8 ConcurrentTableUpdator.java --- src/org/eclipse/jface/viewers/deferred/ConcurrentTableUpdator.java 13 Nov 2006 04:44:59 -0000 1.8 +++ src/org/eclipse/jface/viewers/deferred/ConcurrentTableUpdator.java 16 Apr 2010 12:12:12 -0000 @@ -282,8 +282,8 @@ * @param includeIndex the index that should be included in the visible range. */ public void checkVisibleRange(int includeIndex) { - int start = Math.min(table.getTopIndex() - 1, includeIndex); - int length = Math.max(table.getVisibleItemCount(), includeIndex - start); + int start = table.getTopIndex(); + int length = table.getVisibleItemCount() - 1; Range r = lastRange; if (start != r.start || length != r.length) { @@ -311,7 +311,7 @@ // Compute the currently visible range int start = Math.min(table.getTopIndex(), knownObjects.length); - int length = Math.min(table.getVisibleItemCount(), knownObjects.length - start); + int length = Math.min(table.getVisibleItemCount() - 1, knownObjects.length - start); int itemCount = table.getItemCount(); int oldStart = lastRange.start; @@ -328,7 +328,7 @@ int row = idx + oldStart; // If this item is no longer visible - if (row < itemCount && (row < start || row >= start + length)) { + if (row < itemCount && (row < start || row > start + length)) { // Note: if we wanted to be really aggressive about clearing // items that are no longer visible, we could clear here unconditionally. Index: src/org/eclipse/jface/viewers/deferred/DeferredContentProvider.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface/src/org/eclipse/jface/viewers/deferred/DeferredContentProvider.java,v retrieving revision 1.13 diff -u -r1.13 DeferredContentProvider.java --- src/org/eclipse/jface/viewers/deferred/DeferredContentProvider.java 9 May 2008 14:12:51 -0000 1.13 +++ src/org/eclipse/jface/viewers/deferred/DeferredContentProvider.java 16 Apr 2010 12:12:12 -0000 @@ -101,7 +101,7 @@ Rectangle rect = table.getClientArea (); int itemHeight = table.getItemHeight (); int headerHeight = table.getHeaderHeight (); - return (rect.height - headerHeight + itemHeight - 1) / (itemHeight + table.getGridLineWidth()); + return (rect.height - headerHeight + itemHeight - 1) / itemHeight; } /* (non-Javadoc)