SequenceFeature[] sequenceFeatures;\r
int sfSize, sfindex, spos, epos;\r
\r
- public void drawSequence(Graphics g, SequenceI seq,\r
+ synchronized public void drawSequence(Graphics g, SequenceI seq,\r
int start, int end, int y1)\r
{\r
if (seq.getSequenceFeatures() == null\r
}
}
- if (sequenceFeatures == null)
+ if (sequenceFeatures == null || sfSize==0)
{
return initialCol;
}
SequenceFeature[] sequenceFeatures;
int sfSize, sfindex, spos, epos;
- public void drawSequence(Graphics g, SequenceI seq,
+ synchronized public void drawSequence(Graphics g, SequenceI seq,
int start, int end, int y1)
{
+
if (seq.getDatasetSequence().getSequenceFeatures() == null
|| seq.getDatasetSequence().getSequenceFeatures().length == 0)
{
}
sequenceFeatures = seq.getDatasetSequence().getSequenceFeatures();
- sfSize = sequenceFeatures.length;
}
if (lastSeq == null || seq != lastSeq
{
lastSeq = seq;
sequenceFeatures = seq.getDatasetSequence().getSequenceFeatures();
- sfSize = sequenceFeatures.length;
}
if (transparency != 1 && g != null)
epos = lastSeq.findPosition(end);
}
+ sfSize = sequenceFeatures.length;
String type;
for (int renderIndex = 0; renderIndex < renderOrder.length; renderIndex++)
{
// current feature to render
for (sfindex = 0; sfindex < sfSize; sfindex++)
{
- if (sequenceFeatures.length <= sfindex)
- {
- continue;
- }
if (!sequenceFeatures[sfindex].type.equals(type))
{
continue;