X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererModel.java;fp=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererModel.java;h=5bbdbec383f822af464c1174220c7d8a7edf8eb7;hb=f5c1419b96dc540087bcf565140e6bbcdc2096aa;hp=5d817c78a01ddd90ccbbf9ac8d76869936015d17;hpb=4816a1eeeec4c5b9ff845a711b2e10d621aed6e8;p=jalview.git diff --git a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java index 5d817c7..5bbdbec 100644 --- a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java +++ b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java @@ -339,15 +339,22 @@ public abstract class FeatureRendererModel implements SequenceI asq = alignment.getSequenceAt(i); for (String group : asq.getFeatures().getFeatureGroups(true)) { - if (group == null) + /* + * features in null group are always displayed; other groups + * keep their current visibility; new groups as 'newMadeVisible' + */ + boolean groupDisplayed = true; + if (group != null) { - continue; - } - Boolean groupDisplayed = featureGroups.get(group); - if (groupDisplayed == null) - { - groupDisplayed = Boolean.valueOf(newMadeVisible); - featureGroups.put(group, groupDisplayed); + if (featureGroups.containsKey(group)) + { + groupDisplayed = featureGroups.get(group); + } + else + { + groupDisplayed = newMadeVisible; + featureGroups.put(group, groupDisplayed); + } } if (groupDisplayed) {