Details
Description
Noticed while working on JAL-2664.
Open an alignment with a large number of sequences. Put the desktop at full screen. Click and hold down on a sequence id and drag downwards. Keep dragging past the bottom of the panel, and down past the bottom of the desktop, so that the ids scroll upwards. Typically immediately or after a few times, an NPE is thrown.
(Same problem scrolling sideways).
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
at jalview.gui.SeqCanvas.paintComponent(SeqCanvas.java:416)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Also
Exception in thread "Thread-45" java.lang.NullPointerException
at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
at jalview.gui.SeqCanvas.fastPaint(SeqCanvas.java:334)
at jalview.gui.SeqCanvas.propertyChange(SeqCanvas.java:1036)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:283)
at jalview.viewmodel.ViewportRanges.setStartEndSeq(ViewportRanges.java:235)
at jalview.viewmodel.ViewportRanges.setStartSeq(ViewportRanges.java:191)
at jalview.viewmodel.ViewportRanges.scrollUp(ViewportRanges.java:421)
at jalview.gui.IdPanel$ScrollThread.run(IdPanel.java:488)
Open an alignment with a large number of sequences. Put the desktop at full screen. Click and hold down on a sequence id and drag downwards. Keep dragging past the bottom of the panel, and down past the bottom of the desktop, so that the ids scroll upwards. Typically immediately or after a few times, an NPE is thrown.
(Same problem scrolling sideways).
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
at jalview.gui.SeqCanvas.paintComponent(SeqCanvas.java:416)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Also
Exception in thread "Thread-45" java.lang.NullPointerException
at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(SolidTextRenderer.java:42)
at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:72)
at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
at jalview.gui.SequenceRenderer.drawText(SequenceRenderer.java:421)
at jalview.gui.SequenceRenderer.drawSequence(SequenceRenderer.java:187)
at jalview.gui.SeqCanvas.draw(SeqCanvas.java:746)
at jalview.gui.SeqCanvas.drawPanel(SeqCanvas.java:666)
at jalview.gui.SeqCanvas.fastPaint(SeqCanvas.java:334)
at jalview.gui.SeqCanvas.propertyChange(SeqCanvas.java:1036)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:283)
at jalview.viewmodel.ViewportRanges.setStartEndSeq(ViewportRanges.java:235)
at jalview.viewmodel.ViewportRanges.setStartSeq(ViewportRanges.java:191)
at jalview.viewmodel.ViewportRanges.scrollUp(ViewportRanges.java:421)
at jalview.gui.IdPanel$ScrollThread.run(IdPanel.java:488)
Attachments
Issue Links
- related with
-
JAL-3059 All group borders show the same colour as the first group
- Resolved