diff options
author | Alexander Kurtakov | 2013-05-23 12:54:29 +0000 |
---|---|---|
committer | Camilo Bernal | 2013-05-23 16:04:26 +0000 |
commit | 39834ded26c5455d5e9b074366a3d89ed261be7d (patch) | |
tree | faa2a9c10764efaea3ec0647da1fce8a2d80d94b /rpm | |
parent | 536b844c9cd585323d4849e7d8434cd38cea9114 (diff) | |
download | org.eclipse.linuxtools-39834ded26c5455d5e9b074366a3d89ed261be7d.tar.gz org.eclipse.linuxtools-39834ded26c5455d5e9b074366a3d89ed261be7d.tar.xz org.eclipse.linuxtools-39834ded26c5455d5e9b074366a3d89ed261be7d.zip |
Bug 408670: Prevent NPE in hyperlink detector.
By not relying on SpecfileEditor class to return the specfile model the
door is open for Compare and other editors. This patch just fixes the
NPE but hyperlinks in CompareEditor would not still work.
Change-Id: Id723fc95659fb651717bca7700120d038e38aeff
Reviewed-on: https://git.eclipse.org/r/13076
Tested-by: Hudson CI
Reviewed-by: Camilo Bernal <cabernal@redhat.com>
IP-Clean: Camilo Bernal <cabernal@redhat.com>
Tested-by: Camilo Bernal <cabernal@redhat.com>
Diffstat (limited to 'rpm')
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/hyperlink/SpecfileElementHyperlinkDetector.java | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/hyperlink/SpecfileElementHyperlinkDetector.java b/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/hyperlink/SpecfileElementHyperlinkDetector.java index 58d19ee40c..b31103f207 100644 --- a/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/hyperlink/SpecfileElementHyperlinkDetector.java +++ b/rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/internal/rpm/ui/editor/hyperlink/SpecfileElementHyperlinkDetector.java @@ -24,10 +24,10 @@ import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector; import org.eclipse.jface.text.hyperlink.IHyperlink; import org.eclipse.linuxtools.internal.rpm.ui.editor.ISpecfileSpecialSymbols; import org.eclipse.linuxtools.internal.rpm.ui.editor.parser.SpecfileSource; -import org.eclipse.linuxtools.rpm.ui.editor.SpecfileEditor; import org.eclipse.linuxtools.rpm.ui.editor.parser.Specfile; import org.eclipse.linuxtools.rpm.ui.editor.parser.SpecfileDefine; import org.eclipse.linuxtools.rpm.ui.editor.parser.SpecfileElement; +import org.eclipse.linuxtools.rpm.ui.editor.parser.SpecfileParser; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; @@ -54,22 +54,19 @@ public class SpecfileElementHyperlinkDetector extends AbstractHyperlinkDetector return null; } + IDocument document = textViewer.getDocument(); + if (document == null) { + return null; + } + if (specfile == null) { - SpecfileEditor a = ((SpecfileEditor) this.getAdapter(SpecfileEditor.class)); - if (a != null) { - specfile = a.getSpecfile(); - } else { - return null; - } + SpecfileParser parser = new SpecfileParser(); + specfile = parser.parse(document); } - IDocument document = textViewer.getDocument(); int offset = region.getOffset(); - if (document == null) { - return null; - } IRegion lineInfo; String line; try { |