### Eclipse Workspace Patch 1.0 #P org.eclipse.draw2d Index: src/org/eclipse/draw2d/ScrollBarLayout.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.draw2d/src/org/eclipse/draw2d/ScrollBarLayout.java,v retrieving revision 1.9 diff -u -r1.9 ScrollBarLayout.java --- src/org/eclipse/draw2d/ScrollBarLayout.java 30 Mar 2005 21:27:45 -0000 1.9 +++ src/org/eclipse/draw2d/ScrollBarLayout.java 13 Aug 2007 07:41:07 -0000 @@ -112,8 +112,8 @@ if (thumb != null) thumb.setVisible(trackBounds.height > thumbHeight); - int thumbY = trackBounds.y + (trackBounds.height - thumbHeight) - * (scrollBar.getValue() - min) / valueRange; + int thumbY = trackBounds.y + Math.round((trackBounds.height - thumbHeight) + * ((scrollBar.getValue() - min) / (float)valueRange)); Rectangle thumbBounds = new Rectangle( trackBounds.x, Index: src/org/eclipse/draw2d/ScrollBar.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.gef/plugins/org.eclipse.draw2d/src/org/eclipse/draw2d/ScrollBar.java,v retrieving revision 1.12 diff -u -r1.12 ScrollBar.java --- src/org/eclipse/draw2d/ScrollBar.java 30 Mar 2005 21:27:44 -0000 1.12 +++ src/org/eclipse/draw2d/ScrollBar.java 13 Aug 2007 07:41:07 -0000 @@ -628,7 +628,7 @@ if (!armed) return; Dimension difference = transposer.t(me.getLocation().getDifference(start)); - int change = getValueRange() * difference.height / dragRange; + int change = Math.round(difference.height * (getValueRange()/(float)dragRange)); setValue(revertValue + change); me.consume(); }