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; |