/* Only run if not canceld yet */
if (!monitor.isCanceled())
synchronizedSafeRunInBackground(monitor);
/* Schdule UIJob now */
UIJob uiJob = new UIJob(NAME) {
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
/* If Control is provided, check disposed State */
if (fControl != null && fControl.isDisposed())
return Status.OK_STATUS;
/* Run UI-Task */
synchronizedSafeRunInUI(monitor);
return Status.OK_STATUS;
}
};
uiJob.setSystem(true);
uiJob.setUser(false);
/* Only run if not canceld yet */
if (!monitor.isCanceled())
uiJob.schedule();
monitor.done();
return Status.OK_STATUS;
}