### Eclipse Workspace Patch 1.0 #P org.eclipse.team.ui Index: src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java,v retrieving revision 1.20 diff -u -r1.20 SaveableCompareEditorInput.java --- src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java 30 Jul 2009 09:25:16 -0000 1.20 +++ src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java 19 Nov 2009 16:13:05 -0000 @@ -280,19 +280,27 @@ if (isSaveNeeded() && checkForUnsavedChanges) { return false; } else { + final IWorkbenchPage page= getPage(); + if (page == null) + return false; + Runnable runnable = new Runnable() { public void run() { - IEditorPart part = getPage().findEditor(SaveableCompareEditorInput.this); + Shell shell= page.getWorkbenchWindow().getShell(); + if (shell == null) + return; + + IEditorPart part= page.findEditor(SaveableCompareEditorInput.this); getPage().closeEditor(part, false); } }; if (Display.getCurrent() != null) { runnable.run(); } else { - IWorkbenchPage page = getPage(); - if (page == null) + Shell shell= page.getWorkbenchWindow().getShell(); + if (shell == null) return false; - Display display = page.getWorkbenchWindow().getShell().getDisplay(); + Display display= shell.getDisplay(); display.asyncExec(runnable); } return true;