Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/rpm
diff options
context:
space:
mode:
authorAlexander Kurtakov2013-05-23 12:54:29 +0000
committerCamilo Bernal2013-05-23 16:04:26 +0000
commit39834ded26c5455d5e9b074366a3d89ed261be7d (patch)
treefaa2a9c10764efaea3ec0647da1fce8a2d80d94b /rpm
parent536b844c9cd585323d4849e7d8434cd38cea9114 (diff)
downloadorg.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.java19
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 {

Back to the top