X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationPanel.java;h=07841d2418fd04ffdf503165375ad46a40559894;hb=39e39119e514275f48786e592cc24c251d212c66;hp=afc09ccfc18fe99badfc93a8f84c6797dcefd0eb;hpb=8edb7ea4228bb1c112dbaa4743af9f55755557a4;p=jalview.git diff --git a/src/jalview/gui/AnnotationPanel.java b/src/jalview/gui/AnnotationPanel.java index afc09cc..07841d2 100755 --- a/src/jalview/gui/AnnotationPanel.java +++ b/src/jalview/gui/AnnotationPanel.java @@ -608,25 +608,30 @@ public class AnnotationPanel drawComponent(gg, av.startRes, av.endRes + 1); g.drawImage(image, 0, 0, this); } - + boolean fpainting=false; /** - * DOCUMENT ME! + * Thread safe repaint * - * @param horizontal DOCUMENT ME! + * @param horizontal repaint with horizontal shift in alignment */ public void fastPaint(int horizontal) { + + if (fpainting) + return; + fpainting=true; + if ( (horizontal == 0) || gg == null || av.alignment.getAlignmentAnnotation() == null || av.alignment.getAlignmentAnnotation().length < 1 || av.updatingConsensus - || av.updatingConservation) + || av.updatingConservation + ) // || fpainting) { repaint(); return; } - gg.copyArea(0, 0, imgWidth, getHeight(), -horizontal * av.charWidth, 0); int sr = av.startRes; @@ -650,9 +655,8 @@ public class AnnotationPanel gg.translate( -transX, 0); fastPaint = true; - repaint(); - + fpainting=false; } /**