fixing array processing order
[jalview.git] / src / jalview / io / JalviewFileChooser.java
index 7909d0c..67f1115 100755 (executable)
@@ -37,6 +37,7 @@ import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.io.File;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;
@@ -64,7 +65,7 @@ public class JalviewFileChooser extends JFileChooser implements DialogRunnerI,
 {
   private static final long serialVersionUID = 1L;
 
-  private Map<Object, Runnable> callbacks;
+  private Map<Object, Runnable> callbacks = new HashMap<>();
   
   File selectedFile = null;
 
@@ -192,11 +193,14 @@ public class JalviewFileChooser extends JFileChooser implements DialogRunnerI,
   {
     int value = super.showOpenDialog(this);
     
-    /*
-     * code below here is not reached in JalviewJS, instead
-     * propertyChange() is called for dialog action
-     */
-    handleResponse(value);
+    if (!Platform.isJS())
+    {
+      /*
+       * code here is not run in JalviewJS, instead
+       * propertyChange() is called for dialog action
+       */
+      handleResponse(value);
+    }
     return value;
   }
 
@@ -465,7 +469,7 @@ public class JalviewFileChooser extends JFileChooser implements DialogRunnerI,
       layout.putConstraint(SpringLayout.NORTH, scroller, 5,
               SpringLayout.NORTH, this);
 
-      if (Platform.isAMac())
+      if (Platform.isAMacAndNotJS())
       {
         scroller.setPreferredSize(new Dimension(500, 100));
       }