diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/AbstractAnnotationHover.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/AbstractAnnotationHover.java index ef48b63f324..a1f4359f37f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/AbstractAnnotationHover.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/AbstractAnnotationHover.java @@ -320,7 +320,14 @@ public class AbstractAnnotationHover extends AbstractCEditorTextHover { StyledText text = new StyledText(composite, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); text.setLayoutData(data); - text.setText(annotation.getText()); + String annotationText = annotation.getText(); + if (annotationText == null) { + // This shouldn't happen, but it really does sometimes. See Bug 447622 + // Therefore we have to provide a sensible fallback + text.setText(CHoverMessages.AbstractAnnotationHover_annotation_text_null_message); + } else { + text.setText(annotationText); + } } private void createCompletionProposalsControl(Composite parent, ICompletionProposal[] proposals) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.java index 989ea651ee6..c0a0b147e5b 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.java @@ -20,6 +20,7 @@ import org.eclipse.osgi.util.NLS; public final class CHoverMessages extends NLS { public static String AbstractAnnotationHover_action_configureAnnotationPreferences; + public static String AbstractAnnotationHover_annotation_text_null_message; public static String AbstractAnnotationHover_message_singleQuickFix; public static String AbstractAnnotationHover_message_multipleQuickFix; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.properties index 84d904d327b..96c3ef60f9b 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.properties +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CHoverMessages.properties @@ -14,6 +14,7 @@ # Sergey Prigogin (Google) ############################################################################### AbstractAnnotationHover_action_configureAnnotationPreferences= Configure Annotation Preferences +AbstractAnnotationHover_annotation_text_null_message=Additional information is not available for this annotation. AbstractAnnotationHover_message_singleQuickFix= 1 quick fix available: AbstractAnnotationHover_message_multipleQuickFix= {0} quick fixes available: