JAL-1553 fixed null pointer exception thrown in SeqCanvas and ScalePanel of jalview...
[jalview.git] / src / jalview / appletgui / ScalePanel.java
index 60d89aa..bc5b3e7 100755 (executable)
  */
 package jalview.appletgui;
 
-import java.awt.*;
-import java.awt.event.*;
-
-import jalview.datamodel.*;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceGroup;
 import jalview.util.MessageManager;
 
+import java.awt.Color;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.MenuItem;
+import java.awt.Panel;
+import java.awt.PopupMenu;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+
 public class ScalePanel extends Panel implements MouseMotionListener,
         MouseListener
 {
@@ -323,6 +334,8 @@ public class ScalePanel extends Panel implements MouseMotionListener,
     res = av.getColumnSelection().adjustForHiddenColumns(res);
 
     reveal = null;
+    if (av.getColumnSelection().getHiddenColumns() != null)
+    {
     for (int i = 0; i < av.getColumnSelection().getHiddenColumns().size(); i++)
     {
       int[] region = (int[]) av.getColumnSelection().getHiddenColumns()
@@ -333,6 +346,7 @@ public class ScalePanel extends Panel implements MouseMotionListener,
         break;
       }
     }
+    }
 
     repaint();
   }
@@ -407,18 +421,18 @@ public class ScalePanel extends Panel implements MouseMotionListener,
         }
 
         gg.drawLine(
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + 2,
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + (fm.getDescent() * 2));
 
       }
       else
       {
         gg.drawLine(
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + fm.getDescent(),
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + (fm.getDescent() * 2));
       }
     }
@@ -427,7 +441,8 @@ public class ScalePanel extends Panel implements MouseMotionListener,
     {
       gg.setColor(Color.blue);
       int res;
-      if (av.getShowHiddenMarkers())
+      if (av.getColumnSelection().getHiddenColumns() != null
+              && av.getShowHiddenMarkers())
       {
         for (int i = 0; i < av.getColumnSelection().getHiddenColumns()
                 .size(); i++)