X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fanalysis%2FConservation.java;h=2a065f6cb37fd8adff3d8ad6cccec467af3463a8;hb=6d94bfcf539e558b09a08102b228e65e670f77d8;hp=9e9471f2e3018820f93be08805113c402be5956e;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/analysis/Conservation.java b/src/jalview/analysis/Conservation.java index 9e9471f..2a065f6 100755 --- a/src/jalview/analysis/Conservation.java +++ b/src/jalview/analysis/Conservation.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * * This file is part of Jalview. * @@ -100,7 +100,7 @@ public class Conservation int s, sSize = sequences.size(); SequenceI[] sarray = new SequenceI[sSize]; this.sequences = sarray; - + try { for (s = 0; s < sSize; s++) { sarray[s] = (SequenceI) sequences.elementAt(s); @@ -109,6 +109,12 @@ public class Conservation maxLength = sarray[s].getLength(); } } + } catch (ArrayIndexOutOfBoundsException ex) + { + // bail - another thread has modified the sequence array, so the current calculation is probably invalid. + this.sequences=new SequenceI[0]; + maxLength=0; + } } /** @@ -271,7 +277,9 @@ public class Conservation } } - total[i - start] = resultHash; + if (total.length>0) { + total[i - start] = resultHash; + } } }