Potential NPE with some implementations of the property sheet pages

Bug: 551217
Change-Id: I94ddcc8fd0f42d69b5cece0989a40b6e54fe2dbb
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.java
index 871b82b..0ef734b 100644
--- a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.java
+++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.java
@@ -747,8 +747,12 @@
 					propertySheetPage.setPropertySourceProvider(fAdapterFactoryContentProvider);
 					getControl().addDisposeListener(new DisposeListener() {
 						public void widgetDisposed(DisposeEvent e) {
-							propertySheetPage.selectionChanged(activePart, null);
 							propertySheetPage.setPropertySourceProvider(null);
+							// bug 551238 : protect from potential NPEs
+							if (propertySheetPage.getControl() != null
+									&& !propertySheetPage.getControl().isDisposed()) {
+								propertySheetPage.selectionChanged(activePart, null);
+							}
 						}
 					});
 					if (newSelectedObject != null) {