Bug 66439 Copy of Class causes update error in package explorer
RC1 RHEL JDK 1.4.2_02 Motif I have experienced a problem where I copy a java file and paste it into the same package, accepting the default new name (CopyOfClass.java) However, the package view does not list the class, but it does list 2 instances of the last class in the package (note that I am using the hierarchical view). The file is aparently inserted in the correct location, but the name->class mapping is incorrect: clicking on classes that appear before where the new class should be inserted brings up the correct class, but clicking on classes that appear after the inserted class brings up a different class than the one selected. Restarting eclipse causes the problem to go away
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
import org.eclipse.core.runtime.Platform;
import org.eclipse.swt.dnd.DragSource;
import org.eclipse.swt.dnd.DragSourceListener;
import org.eclipse.swt.dnd.DropTarget;
import org.eclipse.swt.dnd.DropTargetListener;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Item;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.jface.util.Assert;
import org.eclipse.jface.util.IOpenEventListener;
import org.eclipse.jface.util.ListenerList;
import org.eclipse.jface.util.OpenStrategy;
import org.eclipse.jface.util.SafeRunnable;
/**
 * Abstract base implementation for structure-oriented viewers (trees, lists,
 * tables). Supports custom sorting, filtering, and rendering.
 * <p>
 * Any number of viewer filters can be added to this viewer (using
 * <code>addFilter</code>). When the viewer receives an update, it asks each
 * of its filters if it is out of date, and refilters elements as required.
 * </p>
 * 
 * @see ViewerFilter
 * @see ViewerSorter
 */
public abstract class StructuredViewer extends ContentViewer