bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug swing/35236] New: javax.swing.tree.VariableHeightLayoutCache trigge


From: gnu_andrew at member dot fsf dot org
Subject: [Bug swing/35236] New: javax.swing.tree.VariableHeightLayoutCache triggers NullPointerException
Date: 17 Feb 2008 19:29:20 -0000

When running gnu.classpath.examples.swing.TreeDemo and double-clicking on one
of the icons, the demo throws of an endless stream of exceptions:

Exception during event dispatch:
java.lang.NullPointerException
   at
javax.swing.tree.VariableHeightLayoutCache.getBounds(VariableHeightLayoutCache.java:364)
   at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:654)
   at javax.swing.JTree.getPathBounds(JTree.java:2688)
   at
javax.swing.plaf.basic.BasicTreeUI$FocusHandler.repaintLeadRow(BasicTreeUI.java:2346)
   at
javax.swing.plaf.basic.BasicTreeUI$FocusHandler.focusLost(BasicTreeUI.java:2336)
   at java.awt.Component.processFocusEvent(Component.java:3763)
   at java.awt.Component.processEvent(Component.java:3681)
   at java.awt.Container.processEvent(Container.java:1028)
   at java.awt.Component.dispatchEventImpl(Component.java:5737)
   at java.awt.Container.dispatchEventImpl(Container.java:1952)
   at java.awt.Component.dispatchEvent(Component.java:2850)
   at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1105)
   at
java.awt.DefaultKeyboardFocusManager.handleFocusLost(DefaultKeyboardFocusManager.java:313)
   at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:192)
   at java.awt.Component.dispatchEventImpl(Component.java:5725)
   at java.awt.Container.dispatchEventImpl(Container.java:1952)
   at java.awt.Component.dispatchEvent(Component.java:2850)
   at
java.awt.DefaultKeyboardFocusManager.handleFocusGained(DefaultKeyboardFocusManager.java:249)
   at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:188)
   at java.awt.Component.dispatchEventImpl(Component.java:5725)
   at java.awt.Container.dispatchEventImpl(Container.java:1952)
   at java.awt.Window.dispatchEventImpl(Window.java:618)
   at java.awt.Component.dispatchEvent(Component.java:2850)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:624)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)
   at java.lang.VMThread.run(VMThread.java:120)
Exception during event dispatch:
java.lang.NullPointerException
   at
javax.swing.tree.VariableHeightLayoutCache.distance(VariableHeightLayoutCache.java:465)
   at
javax.swing.tree.VariableHeightLayoutCache.getPathClosestTo(VariableHeightLayoutCache.java:444)
   at
javax.swing.plaf.basic.BasicTreeUI.getClosestPathForLocation(BasicTreeUI.java:763)
   at javax.swing.JTree.getClosestPathForLocation(JTree.java:2779)
   at javax.swing.JTree.getClosestRowForLocation(JTree.java:2786)
   at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1564)
   at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:248)
   at javax.swing.plaf.ComponentUI.update(ComponentUI.java:193)
   at javax.swing.JComponent.paintComponent(JComponent.java:2060)
   at javax.swing.JComponent.paint(JComponent.java:1824)
   at javax.swing.JViewport.paintSimple(JViewport.java:798)
   at javax.swing.JViewport.paintBackingStore(JViewport.java:865)
   at javax.swing.JViewport.paint(JViewport.java:495)
   at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:2341)
   at javax.swing.JComponent.paintImmediately2(JComponent.java:2258)
   at javax.swing.JComponent.paintImmediately(JComponent.java:2096)
   at javax.swing.JComponent.paintImmediately(JComponent.java:2122)
   at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:596)
   at javax.swing.RepaintManager$RepaintWorker.run(RepaintManager.java:171)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:200)
   at
javax.swing.RepaintManager$RepaintWorkerEvent.dispatch(RepaintManager.java:115)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:615)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)
   at java.lang.VMThread.run(VMThread.java:120)

The second exception is repeated continuously as it constantly gets triggered
by the event handler.  It appears that invalidatePathBounds makes the rectangle
in the NodeRecord object null, but then other methods rely on it being non-null
and thus cause the exception above.  getBounds in NodeRecord includes the
commment '(compute, if required).' but the body of the method just returns the
rectangle.  This method is also not called in most places, instead r.bounds is
used directly.  Should we not make bounds private and handle null in
getBounds()?


-- 
           Summary: javax.swing.tree.VariableHeightLayoutCache triggers
                    NullPointerException
           Product: classpath
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: swing
        AssignedTo: roman at kennke dot org
        ReportedBy: gnu_andrew at member dot fsf dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35236





reply via email to

[Prev in Thread] Current Thread [Next in Thread]