debugging scroll events/redraw
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
index 70969fc..924ed0b 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
@@ -42,7 +42,10 @@
 		layer.addEventListener([ event | redraw ])
 		
 		// Paint listener
-		addPaintListener([ event | paintLayer(event.gc) ])
+		addPaintListener([ event |

+			println('''SWTNatTable paintListener «event»''')

+			paintLayer(event.gc)

+		])
 		
 		// Init mode switcher

 		modeSwitcher.registerMode(Mode::NORMAL, getInstance(typeof(NormalMode)))
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
index c9a57bf..63a7088 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
@@ -33,21 +33,17 @@
 	}
 	
 	def private createViewportCanvas(ViewportLayer viewportLayer, SWTGraphicsContext swtGC) {
+		// Canvas
 		val viewportCanvas = new Canvas(swtGC.SWTComposite, SWT::NO_BACKGROUND.bitwiseOr(SWT::DOUBLE_BUFFERED).bitwiseOr(SWT::H_SCROLL).bitwiseOr(SWT::V_SCROLL))
 		viewportLayerToCanvasMap.put(viewportLayer, viewportCanvas)
 		swtGC.modeSwitcher.listenTo(viewportCanvas)

 		
-		// Dispose listener
-		viewportCanvas.addDisposeListener([ viewportLayerToCanvasMap.remove(viewportLayer) ])
-		
 		// Paint listener
 		viewportCanvas.addPaintListener([ event |
 			val swtBounds = viewportCanvas.bounds
 			defaultPainter.paintLayer(viewportLayer, new PixelArea(swtBounds.width, swtBounds.height), new SWTGraphicsContext(event.gc, viewportCanvas, swtGC.modeSwitcher))
 		])
 		
-		viewportLayer.addEventListener([ event | viewportCanvas.redraw ])
-		
 		// ScrollBar handlers
 		val horizontalScrollBarHandler = new ScrollBarHandler(viewportCanvas.horizontalBar, viewportLayer.horizontalAxis)
 		horizontalScrollBarHandler.scrollBarVisible = viewportLayer.horizontalScrollBarVisible
@@ -70,6 +66,15 @@
 			verticalScrollBarHandler.recalculateScrollBarSize
 		])
 		
+		// Dispose listener
+		viewportCanvas.addDisposeListener([ viewportLayerToCanvasMap.remove(viewportLayer) ])
+		
+		// ViewportLayer
+		viewportLayer.addEventListener([ event |
+			println('''ViewportLayer eventListener «event»''')
+			viewportCanvas.redraw
+		])
+		
 		viewportCanvas
 	}
 	
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
index 60058bb..f4b778e 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
@@ -50,6 +50,7 @@
 	 * SWT event handler
 	 */
 	override handleEvent(Event event) {
+		println('''ScrollBarHandler handleEvent «event»''')
 		updateViewportOrigin
 	}