Bug 379898 - Hierarchical tree table

Fix getDisplayMode() issue.

Change-Id: I060ae9eca2acea4f722c89afc7bccadb5e9716b8
Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com>
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTreeLayer.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTreeLayer.java
index 4310c1a..c957337 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTreeLayer.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTreeLayer.java
@@ -794,7 +794,8 @@
         // first perform a check if any position in the row is selected
         // better performance in case of no selection
         if (this.selectionLayer != null) {
-            int selectionLayerRowPosition = LayerUtil.convertRowPosition(this, rowPosition, this.selectionLayer);
+            ILayerCell headerCell = getCellByPosition(levelHeaderColumnPosition, rowPosition);
+            int selectionLayerRowPosition = LayerUtil.convertRowPosition(this, headerCell.getOriginRowPosition(), this.selectionLayer);
             if (this.selectionLayer.isRowPositionSelected(selectionLayerRowPosition)) {
                 int level = 0;
                 for (int i = 0; i < this.levelHeaderPositions.length; i++) {