141395 - Selected item lost in Tree
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
index 38defe7..2eed51f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
@@ -2792,6 +2792,7 @@
 					if (OS.RemoveDataBrowserItems (handle, OS.kDataBrowserNoItem, 1, new int [] {id}, 0) != OS.noErr) {
 						break;
 					}
+					visibleCount--;
 				}
 			}
 			index++;
@@ -2842,6 +2843,7 @@
 				if (OS.AddDataBrowserItems (handle, parentID, addIds.length, addIds, OS.kDataBrowserItemNoProperty) != OS.noErr) {
 					error (SWT.ERROR_ITEM_NOT_ADDED);
 				}
+				visibleCount += (count - itemCount);
 				System.arraycopy (addIds, 0, ids, itemCount, addIds.length);
 			}
 		}