Bug 46824 ControlExample: scrolling Canvas leaves screencheese
N20031114 - start ControlExample and open the canvas tab - scroll the canvas until the number is partially outside the view - scroll number number back into the view Observe: the number is redrawn incorrectly
examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java
Color color = e.display.getSystemColor (colors [paintCount % colors.length]);
					gc.setBackground(color);
					gc.fillRectangle(e.x, e.y, e.width, e.height);
				}
				Point size = canvas.getSize ();
				gc.drawArc(cx + 1, cy + 1, size.x - 2, size.y - 2, 0, 360);
				String counter = new Integer(paintCount).toString();
				Point extent = gc.stringExtent(counter);
				gc.drawString(counter, cx + (size.x - extent.x) / 2, cy + (size.y - extent.y) / 2);
			}
		});
		canvas.addControlListener(new ControlAdapter() {
			public void controlResized(ControlEvent event) {
				Point size = canvas.getSize ();
				maxX = size.x * 3 / 2; maxY = size.y * 3 / 2;
				resizeScrollBars ();
			}
		});
		ScrollBar bar = canvas.getHorizontalBar();
		if (bar != null) {
			bar.addSelectionListener(new SelectionAdapter() {
				public void widgetSelected(SelectionEvent event) {
					scrollHorizontal ((ScrollBar)event.widget);
				}
			});
		}
		bar = canvas.getVerticalBar();
		if (bar != null) {
			bar.addSelectionListener(new SelectionAdapter() {
				public void widgetSelected(SelectionEvent event) {