[JAL-3226] problem that JavaScript (or Java) may consolidate multiple
[jalview.git] / src / jalview / gui / PaintRefresher.java
index 54fe488..953fdc5 100755 (executable)
@@ -112,19 +112,30 @@ public class PaintRefresher
       {
         continue;
       }
-
-      if (validateSequences && comp instanceof AlignmentPanel
-              && source instanceof AlignmentPanel)
+      if (comp instanceof AlignmentPanel)
+      {
+        if (validateSequences && source instanceof AlignmentPanel)
+        {
+          validateSequences(((AlignmentPanel) source).av.getAlignment(),
+                  ((AlignmentPanel) comp).av.getAlignment());
+        }
+        if (alignmentChanged)
+        {
+          ((AlignmentPanel) comp).alignmentChanged();
+        }
+      }
+      else if (comp instanceof IdCanvas)
       {
-        validateSequences(((AlignmentPanel) source).av.getAlignment(),
-                ((AlignmentPanel) comp).av.getAlignment());
+        // BH 2019.04.22 fixes JS problem of repaint() consolidation
+        // that occurs in JavaScript but not Java [JAL-3226]
+        ((IdCanvas) comp).fastPaint = false;
       }
-
-      if (comp instanceof AlignmentPanel && alignmentChanged)
+      else if (comp instanceof SeqCanvas)
       {
-        ((AlignmentPanel) comp).alignmentChanged();
+        // BH 2019.04.22 fixes JS problem of repaint() consolidation
+        // that occurs in JavaScript but not Java [JAL-3226]
+        ((SeqCanvas) comp).fastPaint = false;
       }
-
       comp.repaint();
     }
   }