Bug 34644 DND in the FileViewer example resets tree selection
RC2 Linux-GTK In the FileViewer example, expand the tree a few levels and drag a file from the table on the right to somewhere in the tree on the left. No matter where the drop occurs, the selection is reset to the filesystem root. A client application wouldn't want to lose the user's context this way. The selection should remain on the item that was dropped onto.
examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
}		
	}
	
	/**
	 * Traverse an item in the tree and update only what has changed.
	 * 
	 * @param dirItem the tree item of the directory
	 * @param forcePopulate true iff we should populate non-expanded items as well
	 */
	private void treeRefreshItem(TreeItem dirItem, boolean forcePopulate) {
		final File dir = (File) dirItem.getData(TREEITEMDATA_FILE);
		
		if (! forcePopulate && ! dirItem.getExpanded()) {
			
			if (dirItem.getData(TREEITEMDATA_STUB) != null) {
				treeItemRemoveAll(dirItem);
				new TreeItem(dirItem, SWT.NULL); 
				dirItem.setData(TREEITEMDATA_STUB, null);
			}
			return;
		}
		
		dirItem.setData(TREEITEMDATA_STUB, this); 
		
		File[] subFiles = (dir != null) ? FileViewer.getDirectoryList(dir) : null;
		if (subFiles == null || subFiles.length == 0) {
			
			treeItemRemoveAll(dirItem);
			dirItem.setExpanded(false);
			return;