Bug 75402 - NPE on LaunchShortcutsAction.createContext
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
index c848523..6cf34d9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
@@ -33,6 +33,7 @@
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuCreator;
 import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.MenuAdapter;
@@ -43,6 +44,7 @@
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
 import org.eclipse.ui.activities.WorkbenchActivityHelper;
@@ -145,9 +147,15 @@
 			        list = new ArrayList();
 			        list.add(((IEditorPart)activePart).getEditorInput());
 			    } else if (activePart != null) {
-			        ISelection selection = activePart.getSite().getSelectionProvider().getSelection();
-			        if (selection instanceof IStructuredSelection) {
-			            list = ((IStructuredSelection)selection).toList();
+			        IWorkbenchPartSite site = activePart.getSite();
+			        if (site != null) {
+	                    ISelectionProvider selectionProvider = site.getSelectionProvider();
+	                    if (selectionProvider != null) {
+	                        ISelection selection = selectionProvider.getSelection();
+					        if (selection instanceof IStructuredSelection) {
+					            list = ((IStructuredSelection)selection).toList();
+					        }
+	                    }
 			        }
 			    }
 			}