Prevent NPE from the title builder job if run during/after disposal
Change-Id: Ia059bcfb8ae2d21fd3a096cf0b70226394013788
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.java
index 544d9fc..6b2231e 100644
--- a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.java
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.java
@@ -243,14 +243,17 @@
@Override
protected IStatus run(IProgressMonitor monitor) {
final String title = new TitleBuilder(getCompareConfiguration()).toString();
- getContentProvider().runWhenReady(IN_UI_ASYNC, new Runnable() {
- public void run() {
- CTabFolder control = getControl();
- if (!control.isDisposed()) {
- ((CompareViewerSwitchingPane)control.getParent()).setTitleArgument(title);
+ EMFCompareStructureMergeViewerContentProvider contentProvider = getContentProvider();
+ if (contentProvider != null) {
+ contentProvider.runWhenReady(IN_UI_ASYNC, new Runnable() {
+ public void run() {
+ CTabFolder control = getControl();
+ if (!control.isDisposed()) {
+ ((CompareViewerSwitchingPane)control.getParent()).setTitleArgument(title);
+ }
}
- }
- });
+ });
+ }
return Status.OK_STATUS;
}
}