ensure current dataset reference is passed to the crossReference search method
authorjprocter <Jim Procter>
Wed, 1 Aug 2007 16:27:27 +0000 (16:27 +0000)
committerjprocter <Jim Procter>
Wed, 1 Aug 2007 16:27:27 +0000 (16:27 +0000)
src/jalview/gui/AlignFrame.java

index e870dea..6302efb 100755 (executable)
@@ -3617,6 +3617,7 @@ public class AlignFrame
   }
 protected void showProductsFor(SequenceI[] sel, Alignment ds, boolean isRegSel, boolean dna, String source)
   {
+  ds = this.getViewport().alignment.getDataset(); // update our local dataset reference
   Alignment prods = CrossRef.findXrefSequences(sel, dna, source, ds);
   if (prods!=null)
   {
@@ -3624,7 +3625,7 @@ protected void showProductsFor(SequenceI[] sel, Alignment ds, boolean isRegSel,
     for (int s=0; s<sprods.length;s++)
     {
       sprods[s] = (prods.getSequenceAt(s)).deriveSequence();
-      if (!ds.getSequences().contains(sprods[s].getDatasetSequence()))
+      if (ds.getSequences()==null || !ds.getSequences().contains(sprods[s].getDatasetSequence()))
         ds.addSequence(sprods[s].getDatasetSequence());
     }
     Alignment al = new Alignment(sprods);