X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=d135600d8cdf8d76dc53f3c912d2ab8d369fdce0;hb=d065bc916cb63af83cdab7319f5177a855724aba;hp=8fd317abaecb80991b8ec175dd4672e741d01f4c;hpb=01f25e260a8c336119462420a1c2a11512293b41;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 8fd317a..d135600 100644 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -65,6 +65,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -819,9 +820,9 @@ public class APopupMenu extends java.awt.PopupMenu implements return; } - int rsize = 0, gSize = sg.getSize(); - SequenceI[] rseqs, seqs = new SequenceI[gSize]; - SequenceFeature[] tfeatures, features = new SequenceFeature[gSize]; + int gSize = sg.getSize(); + List seqs = new ArrayList(); + List features = new ArrayList(); for (int i = 0; i < gSize; i++) { @@ -829,26 +830,21 @@ public class APopupMenu extends java.awt.PopupMenu implements int end = sg.findEndRes(sg.getSequenceAt(i)); if (start <= end) { - seqs[rsize] = sg.getSequenceAt(i); - features[rsize] = new SequenceFeature(null, null, null, start, - end, "Jalview"); - rsize++; + seqs.add(sg.getSequenceAt(i)); + features.add(new SequenceFeature(null, null, start, end, + "Jalview")); } } - rseqs = new SequenceI[rsize]; - tfeatures = new SequenceFeature[rsize]; - System.arraycopy(seqs, 0, rseqs, 0, rsize); - System.arraycopy(features, 0, tfeatures, 0, rsize); - features = tfeatures; - seqs = rseqs; - - if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs, - features, true, ap)) + + if (!seqs.isEmpty()) { - ap.alignFrame.sequenceFeatures.setState(true); - ap.av.setShowSequenceFeatures(true); - ; - ap.highlightSearchResults(null); + if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs, + features, true, ap)) + { + ap.alignFrame.sequenceFeatures.setState(true); + ap.av.setShowSequenceFeatures(true); + ap.highlightSearchResults(null); + } } } else