JAL-3253-applet disabling button size setting by applet param. Whatever
[jalview.git] / src / jalview / gui / Desktop.java
index bc892cf..2a972e3 100644 (file)
@@ -199,13 +199,14 @@ public class Desktop extends GDesktop
 
   public static MyDesktopPane getDesktopPane()
   {
-    return Desktop.getInstance().desktopPane;
+    Desktop desktop = Desktop.getInstance();
+    return desktop == null ? null : desktop.desktopPane;
   }
 
-  public StructureSelectionManager getStructureSelectionManager()
+  public static StructureSelectionManager getStructureSelectionManager()
   {
     return StructureSelectionManager
-            .getStructureSelectionManager(this);
+            .getStructureSelectionManager(getInstance());
   }
 
   static int openFrameCount = 0;
@@ -222,7 +223,9 @@ public class Desktop extends GDesktop
 
   private static int fileLoadingCount = 0;
 
-  public JInternalFrame conservationSlider, PIDSlider;
+  public JInternalFrame conservationSlider;
+
+  public JInternalFrame PIDSlider;
 
   /**
    * just an instance (for testng, probably); no actual frames
@@ -363,8 +366,9 @@ public class Desktop extends GDesktop
    */
   public static Desktop getInstance()
   {
-    return (Desktop) ApplicationSingletonProvider
-            .getInstance(Desktop.class);
+    return Jalview.isHeadlessMode() ? null
+            : (Desktop) ApplicationSingletonProvider
+                    .getInstance(Desktop.class);
   }
 
   /**
@@ -384,6 +388,8 @@ public class Desktop extends GDesktop
   @SuppressWarnings("unused")
   private Desktop()
   {
+    try
+    {
     /**
      * A note to implementors. It is ESSENTIAL that any activities that might
      * block are spawned off as threads rather than waited for during this
@@ -549,6 +555,10 @@ public class Desktop extends GDesktop
       }
     });
     desktopPane.addMouseListener(ma);
+    } catch (Throwable t)
+    {
+      t.printStackTrace();
+    }
   }
 
   /**
@@ -567,7 +577,8 @@ public class Desktop extends GDesktop
   public void doConfigureStructurePrefs()
   {
     // configure services
-    StructureSelectionManager ssm = getStructureSelectionManager();
+    StructureSelectionManager ssm = StructureSelectionManager
+            .getStructureSelectionManager(this);
     if (jalview.bin.Cache.getDefault(Preferences.ADD_SS_ANN, true))
     {
       ssm.setAddTempFacAnnot(jalview.bin.Cache
@@ -3485,7 +3496,8 @@ public class Desktop extends GDesktop
 
   public static groovy.ui.Console getGroovyConsole()
   {
-    return Desktop.getInstance().groovyConsole;
+    Desktop desktop = Desktop.getInstance();
+    return desktop == null ? null : desktop.groovyConsole;
   }
 
   /**