Merge branch 'develop' into alpha/JAL-3362_Jalview_212_alpha
[jalview.git] / src / jalview / gui / Desktop.java
index ed9ed50..c9646b4 100644 (file)
@@ -143,7 +143,7 @@ public class Desktop extends jalview.jbgui.GDesktop
 
   protected static final String CONFIRM_KEYBOARD_QUIT = "CONFIRM_KEYBOARD_QUIT";
 
-  public static HashMap<String, FileWriter> savingFiles = new HashMap<>();
+  public static HashMap<String, FileWriter> savingFiles = new HashMap<String, FileWriter>();
 
   private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
 
@@ -1499,7 +1499,8 @@ public class Desktop extends jalview.jbgui.GDesktop
       return;
     }
 
-    AlignmentViewport source = null, target = null;
+    AlignViewportI source = null;
+    AlignViewportI target = null;
     if (frames[0] instanceof AlignFrame)
     {
       source = ((AlignFrame) frames[0]).getCurrentView();
@@ -1924,7 +1925,10 @@ public class Desktop extends jalview.jbgui.GDesktop
     }
 
     // FIXME: ideally should use UI interface API
-    FeatureSettings viewFeatureSettings = af.featureSettings;
+    FeatureSettings viewFeatureSettings = (af.featureSettings != null
+            && af.featureSettings.isOpen())
+            ? af.featureSettings
+            : null;
     Rectangle fsBounds = af.getFeatureSettingsGeometry();
     for (int i = 0; i < size; i++)
     {
@@ -1935,9 +1939,10 @@ public class Desktop extends jalview.jbgui.GDesktop
       // transfer reference for existing feature settings to new alignFrame
       if (ap == af.alignPanel)
       {
-        newaf.featureSettings = (viewFeatureSettings.fr.ap == ap)
-                ? viewFeatureSettings
-                : null;
+        if (viewFeatureSettings != null && viewFeatureSettings.fr.ap == ap)
+        {
+          newaf.featureSettings = viewFeatureSettings;
+        }
         newaf.setFeatureSettingsGeometry(fsBounds);
       }
 
@@ -1966,6 +1971,7 @@ public class Desktop extends jalview.jbgui.GDesktop
       }
     }
 
+    af.featureSettings = null;
     af.alignPanels.clear();
     af.closeMenuItem_actionPerformed(true);
 
@@ -2597,7 +2603,9 @@ public class Desktop extends jalview.jbgui.GDesktop
     }
     Thread t3 = null;
     {
-      // TODO: do rest service discovery
+      // start slivka discovery
+      t3 = new Thread(jalview.ws.slivkaws.SlivkaWSDiscoverer.getInstance());
+      t3.start();
     }
     if (blocking)
     {