Bug 498428 - NPE on dispose of RunToLineAction

Change-Id: I9910191e72540dcc9b49647ee4cc174ee174e3e2
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineAction.java
index 15c9cf1..c8d9667 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineAction.java
@@ -151,7 +151,12 @@
 	public void dispose() {
 		IDebugContextManager manager = DebugUITools.getDebugContextManager();
 		if (fActivePart != null) {
-			manager.getContextService(fActivePart.getSite().getWorkbenchWindow()).removeDebugContextListener(fContextListener);
+			IWorkbenchWindow ww = fActivePart.getSite().getWorkbenchWindow();
+			if (ww != null) {
+				manager.getContextService(ww).removeDebugContextListener(fContextListener);
+			} else {
+				manager.removeDebugContextListener(fContextListener);
+			}
 		}
 		fActivePart = null;
 		fTargetElement = null;