- <!-- 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
*/
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;
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
* 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
*/
*/
package jalview.structures.models;
-import java.util.Locale;
-
import java.awt.Color;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import javax.swing.SwingUtilities;
@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))
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;
import io.github.classgraph.ClassGraph;
import io.github.classgraph.ModuleRef;
import io.github.classgraph.ScanResult;
+import jalview.gui.JvOptionPane;
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;
// STDERR_SETUPLINES have been read
Thread runner = new Thread(new Runnable()
{
+ @Override
public void run()
{
String ln = null;
{
synchronized (this)
{
- while (viewport.getCalcManager().isWorking())
+ do
{
try
{
} catch (InterruptedException e)
{
}
- }
+ } while (viewport.getCalcManager().isWorking());
}
}