diff --git a/bundles/net.sourceforge.plantuml.eclipse/src/net/sourceforge/plantuml/util/DiagramTextIntentProvider.java b/bundles/net.sourceforge.plantuml.eclipse/src/net/sourceforge/plantuml/util/DiagramTextIntentProvider.java index b2e8fd37d..6ff8f2dee 100644 --- a/bundles/net.sourceforge.plantuml.eclipse/src/net/sourceforge/plantuml/util/DiagramTextIntentProvider.java +++ b/bundles/net.sourceforge.plantuml.eclipse/src/net/sourceforge/plantuml/util/DiagramTextIntentProvider.java @@ -38,12 +38,19 @@ public Collection getDiagramInfos(final DiagramIntentContext cont // TODO diagramText = diagramTextProvider2.getDiagramText((IEditorPart) workbenchPart, selection); } else { - diagramText = diagramTextProvider.getDiagramText((IEditorPart) workbenchPart, selection); + if (diagramTextProvider.supportsEditor((IEditorPart) workbenchPart) + && diagramTextProvider.supportsSelection(selection)) { + diagramText = diagramTextProvider.getDiagramText((IEditorPart) workbenchPart, selection); + } } } else if (workbenchPart instanceof IViewPart) { - diagramText = diagramTextProvider.getDiagramText((IViewPart) workbenchPart, selection); + if (diagramTextProvider.supportsView((IViewPart) workbenchPart) + && diagramTextProvider.supportsSelection(selection)) { + diagramText = diagramTextProvider.getDiagramText((IViewPart) workbenchPart, selection); + } } - } else if (context instanceof WorkspaceDiagramIntentProviderContext && diagramTextProvider instanceof DiagramTextProvider2) { + } else if (context instanceof WorkspaceDiagramIntentProviderContext + && diagramTextProvider instanceof DiagramTextProvider2) { final WorkspaceDiagramIntentProviderContext intentProviderContext = (WorkspaceDiagramIntentProviderContext) context; final DiagramTextProvider2 diagramTextProvider2 = (DiagramTextProvider2) diagramTextProvider; if (diagramTextProvider2.supportsPath(intentProviderContext.getPath())) {