diff --git a/uk/ac/sanger/artemis/components/alignment/BamView.java b/uk/ac/sanger/artemis/components/alignment/BamView.java
index 8eb9d9622890f0f5e3866241fe7f0bba88a63d17..132c1f4f4fe86a4fbddc3da3cc5d2a8e1d258dd8 100644
--- a/uk/ac/sanger/artemis/components/alignment/BamView.java
+++ b/uk/ac/sanger/artemis/components/alignment/BamView.java
@@ -3272,9 +3272,26 @@ public class BamView extends JPanel
{
laststart = -1;
if(feature_display != null)
+ {
setZoomLevel(feature_display.getMaxVisibleBases());
+ }
else
+ {
+ /*
+ * Reset the scroll bar to the left hand side when we change
+ * the combo selection (for bamview). If this is not done
+ * then we can go to the end of one [long] contig, select a new one that's
+ * shorter and we will end up off the end of it in no-man's land
+ * - this eventually leads to an array negative index exception in
+ * iterateOverBam
+ */
+ startBase = -1;
+ endBase = -1;
+ scrollBar.setValues(1, BamView.this.nbasesInView, 1,
+ getMaxBasesInPanel(getSequenceLength()));
setZoomLevel(BamView.this.nbasesInView);
+ repaint();
+ }
}
};
topPanel.add(combo);