JAL-3187 handle no mapping / complement features without NPE
[jalview.git] / src / jalview / renderer / seqfeatures / FeatureRenderer.java
index 39d705b..d580f2c 100644 (file)
@@ -457,13 +457,16 @@ public class FeatureRenderer extends FeatureRendererModel
       int column = seq.findIndex(pos);
       MappedFeatures mf = fr2
               .findComplementFeaturesAtResidue(seq, pos);
-      for (SequenceFeature sf : mf.features)
+      if (mf != null)
       {
-        FeatureColourI fc = fr2.getFeatureStyle(sf.getType());
-        Color featureColour = fr2.getColor(sf, fc);
-        renderFeature(g, seq, column - 1, column - 1, featureColour,
-                start, end, y1, colourOnly);
-        drawnColour = featureColour;
+        for (SequenceFeature sf : mf.features)
+        {
+          FeatureColourI fc = fr2.getFeatureStyle(sf.getType());
+          Color featureColour = fr2.getColor(sf, fc);
+          renderFeature(g, seq, column - 1, column - 1, featureColour,
+                  start, end, y1, colourOnly);
+          drawnColour = featureColour;
+        }
       }
     }
     return drawnColour;
@@ -563,7 +566,10 @@ public class FeatureRenderer extends FeatureRendererModel
     FeatureRendererModel fr2 = af.getFeatureRenderer();
     MappedFeatures mf = fr2.findComplementFeaturesAtResidue(
             seq, seq.findPosition(column - 1));
-
+    if (mf == null)
+    {
+      return null;
+    }
     ReverseListIterator<SequenceFeature> it = new ReverseListIterator<>(
             mf.features);
     while (it.hasNext())