fix clip bounds calculation for spanned cells
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/painter/layer/CellLayerPainter.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/painter/layer/CellLayerPainter.java
index d9b803b..b28f76c 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/painter/layer/CellLayerPainter.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/painter/layer/CellLayerPainter.java
@@ -100,10 +100,13 @@
 		Rectangle adjustedCellBounds = layer.getLayerPainter().adjustCellBounds(columnPosition, rowPosition, cell.getBounds());
 		if (cellPainter != null) {
 			Rectangle originalClipping = gc.getClipping();
+			
 			int startX = getStartXOfColumnPosition(columnPosition);
 			int startY = getStartYOfRowPosition(rowPosition);
-			int endX = getStartXOfColumnPosition(columnPosition + cell.getColumnSpan());
-			int endY = getStartYOfRowPosition(rowPosition + cell.getRowSpan());
+			
+			int endX = getStartXOfColumnPosition(cell.getOriginColumnPosition() + cell.getColumnSpan());
+			int endY = getStartYOfRowPosition(cell.getOriginRowPosition() + cell.getRowSpan());
+			
 			Rectangle clipBounds = new Rectangle(startX, startY, endX - startX, endY - startY);
 			Rectangle adjustedClipBounds = layer.getLayerPainter().adjustCellBounds(columnPosition, rowPosition, clipBounds);
 			gc.setClipping(adjustedClipBounds);