Bug 541019 - NullPointerException in GraphicalComposite.selectionChanged

Change-Id: I1a64c0c5dacd7e2487264452adc7da512e816bc1
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/editor/GraphicalComposite.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/editor/GraphicalComposite.java
index 6f02ed5..80cfebc 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/editor/GraphicalComposite.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/editor/GraphicalComposite.java
@@ -50,7 +50,9 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.ISelectionListener;
 import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.actions.ActionFactory;
 
 /**
@@ -386,15 +388,26 @@
         return getCommandStack().isDirty();
     }
 
-    /**
-     * @see org.eclipse.ui.ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-     */
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        // If not the active part, ignore selection changed.
-		if (getWorkbenchPart() != null
-				&& getWorkbenchPart().equals(getWorkbenchPart().getSite().getPage().getActivePart()))
-            updateActions(selectionActions);
-    }
+	/**
+	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(IWorkbenchPart,
+	 *      ISelection)
+	 */
+	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+		// If not the active part, ignore selection changed.
+		IWorkbenchPart workbenchPart = getWorkbenchPart();
+		if (workbenchPart != null) {
+			IWorkbenchPartSite site = workbenchPart.getSite();
+			if (site != null) {
+				IWorkbenchPage page = site.getPage();
+				if (page != null) {
+					IWorkbenchPart activePart = page.getActivePart();
+					if (workbenchPart.equals(activePart)) {
+						updateActions(selectionActions);
+					}
+				}
+			}
+		}
+	}
 
     /**
      * Sets the ActionRegistry for this EditorPart.