Bug 567540 - StackOverflow in findColumnPosition/findRowPosition

Change-Id: Ie82de178541bfdf0a5192c7b1d5d735159d5de69
Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com>
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/LayerUtil.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/LayerUtil.java
index 20d6446..e870dff 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/LayerUtil.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/LayerUtil.java
@@ -46,6 +46,10 @@
     protected static final int findColumnPosition(
             int xOffset, int columnOffset, ILayer layer, int x, int totalWidth, int columnCount) {
 
+        if (columnOffset == columnCount) {
+            return columnCount;
+        }
+
         double size = (double) (totalWidth - xOffset) / (columnCount - columnOffset);
         int columnPosition = columnOffset + (int) ((x - xOffset) / size);
 
@@ -76,6 +80,10 @@
     protected static final int findRowPosition(
             int yOffset, int rowOffset, ILayer layer, int y, int totalHeight, int rowCount) {
 
+        if (rowOffset == rowCount) {
+            return rowCount;
+        }
+
         double size = (double) (totalHeight - yOffset) / (rowCount - rowOffset);
         int rowPosition = rowOffset + (int) ((y - yOffset) / size);