X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileLoader.java;h=ac3c5d38022e9c02692897f3e681f305cf9c41f0;hb=608832fec5a504b4c56e5837b2b3dfc1993fe734;hp=9b06fdd9af28f158a0542ca9f31defbf86986422;hpb=f01e51c0c24a706409590174696ae72c4d573b7f;p=jalview.git diff --git a/src/jalview/io/FileLoader.java b/src/jalview/io/FileLoader.java index 9b06fdd..ac3c5d3 100755 --- a/src/jalview/io/FileLoader.java +++ b/src/jalview/io/FileLoader.java @@ -125,7 +125,8 @@ public class FileLoader public void run() { - Desktop.instance.startLoading(file); + if (Desktop.instance != null) + Desktop.instance.startLoading(file); SequenceI[] sequences = null; @@ -135,9 +136,9 @@ public class FileLoader } else { - String errorMessage = AppletFormatAdapter.SUPPORTED_FORMATS; + String error = AppletFormatAdapter.SUPPORTED_FORMATS; - if (FormatAdapter.formats.contains(format)) + if (FormatAdapter.isValidFormat(format)) { try { @@ -145,7 +146,7 @@ public class FileLoader } catch (java.io.IOException ex) { - errorMessage = ex.getMessage(); + error = ex.getMessage(); } } @@ -175,16 +176,24 @@ public class FileLoader { } } - } else { - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't load file " + file + - "\n" - + errorMessage, - "Error loading file", - JOptionPane.WARNING_MESSAGE); + if (Desktop.instance != null) + Desktop.instance.stopLoading(); + + final String errorMessage = "Couldn't load file "+file+"\n"+error; + + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + JOptionPane.showInternalMessageDialog(Desktop.desktop, + errorMessage, + "Error loading file", + JOptionPane.WARNING_MESSAGE); + } + }); } } @@ -193,7 +202,9 @@ public class FileLoader updateRecentlyOpened(); } - Desktop.instance.stopLoading(); + if (Desktop.instance != null) + Desktop.instance.stopLoading(); + } }