diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java')
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java index 0b4089c6041..f972224640b 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/actions/AbstractAction.java @@ -24,6 +24,7 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor; import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; /** @@ -67,22 +68,25 @@ public abstract class AbstractAction extends Action { */ protected List<View> getSelection() { List<View> viewSelected = new ArrayList<View>(); - ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); - if(false == selection instanceof IStructuredSelection) { - return Collections.emptyList(); - } - for(Object object : ((IStructuredSelection)selection).toList()) { - if(false == object instanceof IGraphicalEditPart) { - continue; - } - if(object instanceof DiagramEditPart) { - continue; - } - View view = ((IGraphicalEditPart)object).getNotationView(); - if(view.getEAnnotation("Shortcut") != null) { - continue; + IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + if (activeWorkbenchWindow!=null){ + ISelection selection = activeWorkbenchWindow.getSelectionService().getSelection(); + if(false == selection instanceof IStructuredSelection) { + return Collections.emptyList(); } - viewSelected.add(view); + for(Object object : ((IStructuredSelection)selection).toList()) { + if(false == object instanceof IGraphicalEditPart) { + continue; + } + if(object instanceof DiagramEditPart) { + continue; + } + View view = ((IGraphicalEditPart)object).getNotationView(); + if(view.getEAnnotation("Shortcut") != null) { + continue; + } + viewSelected.add(view); + } } return viewSelected; } |