Bug 95945 [Navigator ] Opening compare editor switches to Java editor
To reproduce this issue: 1. Open a .java, .xml etc. file that has been modified since last cvs checkout in resource/java perspective. 2. Synchronize entire project -> switch to synchronize perspective 3. Double click a changed file that is NOT currently open in perspective - you get a side-by-side compare view of the two files (good). 4. Double click the changed file that was opened in step 1. The side-by-side perspective is displayed for a second, and then the display switches to the single file view of this file instead of staying in the compare view. You have to close the file in the perspective in order for the comparison to keep focus which is really annoying when you want to see the diffs between local and repository versions on a file you are working on. This did not happen in 3.1M5, I upgraded from M5 to M7 so this bug was introduced in either M6 or M7.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
IResourceNavigator {
    private TreeViewer viewer;
    private IDialogSettings settings;
    private IMemento memento;
    private FrameList frameList;
    private ResourceNavigatorActionGroup actionGroup;
    private ResourcePatternFilter patternFilter = new ResourcePatternFilter();
    private ResourceWorkingSetFilter workingSetFilter = new ResourceWorkingSetFilter();
    private boolean linkingEnabled;
    private boolean dragDetected;
    private Listener dragDetectListener;
    /**
     * Remembered working set.
     */
    private IWorkingSet workingSet;
    /**
	 * Marks whether the working set we're using is currently empty. In this
	 * event we're effectively not using a working set.
	 */