Merge branch 'develop' into releases/Release_2_11_2_Branch
authorJim Procter <j.procter@dundee.ac.uk>
Thu, 9 Jun 2022 11:37:18 +0000 (12:37 +0100)
committerJim Procter <j.procter@dundee.ac.uk>
Thu, 9 Jun 2022 11:37:18 +0000 (12:37 +0100)
help/markdown/releases/release-2_11_2_3.md
src/jalview/gui/SeqCanvas.java
src/jalview/structures/models/AAStructureBindingModel.java
test/jalview/bin/CommandLineOperations.java
test/jalview/gui/AlignViewportTest.java

index 307d821..18449ad 100644 (file)
@@ -18,3 +18,4 @@ channel: "release"
 - <!-- JAL-4024 --> Jumping from left to far right via rapid drag of scroll bar or clicking the overview window can cause Jalview to temporarily hang when working with alignments with more than 10 thousand columns
 - <!-- JAL-4023 --> Labels for tree branches smaller than 0.005 are shown as '0' in the tree viewer
 - <!-- JAL-1544 --> Fixed typos in documentation
+- <!-- JAL-4026 --> defensive patches in code and improvements for failing tests 
index ac7cf10..d15cdcf 100755 (executable)
  */
 package jalview.gui;
 
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.HiddenColumns;
-import jalview.datamodel.SearchResultsI;
-import jalview.datamodel.SequenceGroup;
-import jalview.datamodel.SequenceI;
-import jalview.datamodel.VisibleContigsIterator;
-import jalview.renderer.ScaleRenderer;
-import jalview.renderer.ScaleRenderer.ScaleMark;
-import jalview.util.Comparison;
-import jalview.viewmodel.ViewportListenerI;
-import jalview.viewmodel.ViewportRanges;
-
 import java.awt.BasicStroke;
 import java.awt.BorderLayout;
 import java.awt.Color;
@@ -47,6 +35,18 @@ import java.util.List;
 
 import javax.swing.JPanel;
 
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.HiddenColumns;
+import jalview.datamodel.SearchResultsI;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.datamodel.VisibleContigsIterator;
+import jalview.renderer.ScaleRenderer;
+import jalview.renderer.ScaleRenderer.ScaleMark;
+import jalview.util.Comparison;
+import jalview.viewmodel.ViewportListenerI;
+import jalview.viewmodel.ViewportRanges;
+
 /**
  * The Swing component on which the alignment sequences, and annotations (if
  * shown), are drawn. This includes scales above, left and right (if shown) in
@@ -690,7 +690,7 @@ public class SeqCanvas extends JPanel implements ViewportListenerI
      * compute width in residues; this also sets East and West label widths
      */
     int wrappedWidthInResidues = getWrappedCanvasWidth(canvasWidth);
-
+    av.setWrappedWidth(wrappedWidthInResidues); // update model accordingly
     /*
      *  limit visibleWidths to not exceed width of alignment
      */
index 44d698d..906cb59 100644 (file)
@@ -20,8 +20,6 @@
  */
 package jalview.structures.models;
 
-import java.util.Locale;
-
 import java.awt.Color;
 import java.io.File;
 import java.io.IOException;
@@ -31,6 +29,7 @@ import java.util.BitSet;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import javax.swing.SwingUtilities;
@@ -1280,6 +1279,12 @@ public abstract class AAStructureBindingModel
   @Override
   public void updateColours(Object source)
   {
+    if (getViewer() == null)
+    {
+      // can happen if a viewer was not instantiated or cleaned up and is still
+      // registered - mostly during tests
+      return;
+    }
     AlignmentViewPanel ap = (AlignmentViewPanel) source;
     // ignore events from panels not used to colour this view
     if (!getViewer().isUsedForColourBy(ap))
index 2d8ebce..3bfd4f3 100644 (file)
@@ -23,8 +23,6 @@ package jalview.bin;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
-import jalview.gui.JvOptionPane;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
@@ -43,6 +41,7 @@ import org.testng.annotations.Test;
 import io.github.classgraph.ClassGraph;
 import io.github.classgraph.ModuleRef;
 import io.github.classgraph.ScanResult;
+import jalview.gui.JvOptionPane;
 
 public class CommandLineOperations
 {
@@ -54,12 +53,12 @@ public class CommandLineOperations
     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
   }
 
-  private static final int TEST_TIMEOUT = 12500; // Note longer timeout needed
+  private static final int TEST_TIMEOUT = 13000; // Note longer timeout needed
                                                  // on
                                                  // full test run than on
                                                  // individual tests
 
-  private static final int SETUP_TIMEOUT = 9000;
+  private static final int SETUP_TIMEOUT = 9500;
 
   private static final int MINFILESIZE_SMALL = 2096;
 
@@ -257,6 +256,7 @@ public class CommandLineOperations
     // STDERR_SETUPLINES have been read
     Thread runner = new Thread(new Runnable()
     {
+      @Override
       public void run()
       {
         String ln = null;
index e0a18d6..b3c6b2a 100644 (file)
@@ -328,7 +328,7 @@ public class AlignViewportTest
   {
     synchronized (this)
     {
-      while (viewport.getCalcManager().isWorking())
+      do
       {
         try
         {
@@ -336,7 +336,7 @@ public class AlignViewportTest
         } catch (InterruptedException e)
         {
         }
-      }
+      } while (viewport.getCalcManager().isWorking());
     }
   }