View | Details | Raw Unified | Return to bug 277375 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/team/ui/synchronize/SaveableCompareEditorInput.java (-4 / +12 lines)
Lines 280-298 Link Here
280
		if (isSaveNeeded() && checkForUnsavedChanges) {
280
		if (isSaveNeeded() && checkForUnsavedChanges) {
281
			return false;
281
			return false;
282
		} else {
282
		} else {
283
			final IWorkbenchPage page= getPage();
284
			if (page == null)
285
				return false;
286
283
			Runnable runnable = new Runnable() {
287
			Runnable runnable = new Runnable() {
284
				public void run() {
288
				public void run() {
285
					IEditorPart part = getPage().findEditor(SaveableCompareEditorInput.this);
289
					Shell shell= page.getWorkbenchWindow().getShell();
290
					if (shell == null)
291
						return;
292
293
					IEditorPart part= page.findEditor(SaveableCompareEditorInput.this);
286
					getPage().closeEditor(part, false);
294
					getPage().closeEditor(part, false);
287
				}
295
				}
288
			};
296
			};
289
			if (Display.getCurrent() != null) {
297
			if (Display.getCurrent() != null) {
290
				runnable.run();
298
				runnable.run();
291
			} else {
299
			} else {
292
				IWorkbenchPage page = getPage();
300
				Shell shell= page.getWorkbenchWindow().getShell();
293
				if (page == null)
301
				if (shell == null)
294
					return false;
302
					return false;
295
				Display display = page.getWorkbenchWindow().getShell().getDisplay();
303
				Display display= shell.getDisplay();
296
				display.asyncExec(runnable);
304
				display.asyncExec(runnable);
297
			}
305
			}
298
			return true;
306
			return true;

Return to bug 277375