Fix: Use selection listener instead of mouse-up to detect node clicks

Problem with mouse-up: There is also an event when the node is expanded
or collapsed. In this case the tree may scroll and therefore the
detected Scout node may be wrong.

Change-Id: Iddfeb0389d83d11a89cecc37ee1c4b8831dfa8d2
Reviewed-on: https://git.eclipse.org/r/47627
Tested-by: Hudson CI
Reviewed-by: Judith Gull <jgu@bsiag.com>
diff --git a/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/basic/tree/RwtScoutTree.java b/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/basic/tree/RwtScoutTree.java
index a2900f3..ea07098 100644
--- a/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/basic/tree/RwtScoutTree.java
+++ b/org.eclipse.scout.rt.ui.rap/src/org/eclipse/scout/rt/ui/rap/basic/tree/RwtScoutTree.java
@@ -109,7 +109,7 @@
     viewer.addDoubleClickListener(new P_RwtDoubleClickListener());
 
     P_RwtTreeListener treeListener = new P_RwtTreeListener();
-    viewer.getTree().addListener(SWT.MouseDown, treeListener);
+    viewer.getTree().addListener(SWT.Selection, treeListener);
     viewer.getTree().addListener(SWT.MouseUp, treeListener);
     viewer.getTree().addListener(SWT.MenuDetect, treeListener);
 
@@ -387,7 +387,7 @@
 
   /**
    * Update the given node.
-   * 
+   *
    * @since 3.10.0-M5
    */
   protected void updateTreeNode(ITreeNode node) {
@@ -785,7 +785,7 @@
     @Override
     public void handleEvent(Event event) {
       switch (event.type) {
-        case SWT.MouseUp: {
+        case SWT.Selection: {
           ViewerCell cell = getUiTreeViewer().getCell(new Point(event.x, event.y));
           if (cell != null && cell.getBounds().contains(event.x, event.y) && cell.getElement() instanceof ITreeNode) {
             ITreeNode nodeToClick = (ITreeNode) cell.getElement();