--- Begin Message ---
Subject: |
Re: [cp-patches] RFC: MetalScrollBarPropertyChangeHandler.propertyChange() fixes |
Date: |
Sun, 02 Oct 2005 16:28:51 +0200 |
Hi David,
On Sat, 2005-10-01 at 21:21 +0000, David Gilbert wrote:
> Mark Wielaard wrote:
> >This was in my tree after DevJam. Could someone review them to make sure
> >they make sense?
> >
> >2005-10-01 Mark Wielaard <address@hidden>
> >
> > * javax/swing/plaf/metal/MetalScrollBarUI.java
> > (MetalScrollBarPropertyChangeHandler.propertyChange):
> > Only set free standing when increase or decrease button isn't null.
> > If not FREE_STANDING_PROP pass up event to super class.
> >
> >The second part makes the code do what the comment says it does.
>
> It looks OK to me, especially the 'else' part.
Thanks. Committed.
> Is there a situation where increaseButton and/or decreaseButton could
> be null? It doesn't hurt to be defensive, of course, but I'm
> wondering if there is a gap in my understanding of how this UI
> delegate is initialised...
We were seeing this with JEdit (4.2) [see the stacktrace below) and
looking at the code I cannot immediately see where increaseButton and/or
decreaseButton are set. But they are protected fields so a subclass can
explicitly set them to any value including null if they were ever set.
Cheers,
Mark
[error] PerspectiveManager: java.lang.NullPointerException
[error] PerspectiveManager: at
javax.swing.plaf.metal.MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.propertyChange
(MetalScrollBarUI.java:93)
[error] PerspectiveManager: at
javax.swing.event.SwingPropertyChangeSupport.firePropertyChange
(SwingPropertyChangeSupport.java:303)
[error] PerspectiveManager: at
javax.swing.event.SwingPropertyChangeSupport.firePropertyChange
(SwingPropertyChangeSupport.java:273)
[error] PerspectiveManager: at javax.swing.JComponent.firePropertyChange
(JComponent.java:774)
[error] PerspectiveManager: at javax.swing.JComponent.putClientProperty
(JComponent.java:504)
[error] PerspectiveManager: at
org.gjt.sp.jedit.textarea.JEditTextArea.<init> (JEditTextArea.java:110)
[error] PerspectiveManager: at org.gjt.sp.jedit.EditPane.<init>
(EditPane.java:354)
[error] PerspectiveManager: at org.gjt.sp.jedit.View.createEditPane
(View.java:1547)
[error] PerspectiveManager: at org.gjt.sp.jedit.View.restoreSplitConfig
(View.java:1454)
[error] PerspectiveManager: at org.gjt.sp.jedit.View.<init> (View.java:1197)
[error] PerspectiveManager: at org.gjt.sp.jedit.jEdit.newView
(jEdit.java:2141)
[error] PerspectiveManager: at
org.gjt.sp.jedit.PerspectiveManager$PerspectiveHandler.endElement
(PerspectiveManager.java:344)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseETag
(XmlParser.java:1041)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseContent
(XmlParser.java:1112)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseElement
(XmlParser.java:947)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseContent
(XmlParser.java:1118)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseElement
(XmlParser.java:947)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parseDocument
(XmlParser.java:496)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.doParse
(XmlParser.java:176)
[error] PerspectiveManager: at com.microstar.xml.XmlParser.parse
(XmlParser.java:146)
[error] PerspectiveManager: at
org.gjt.sp.jedit.PerspectiveManager.loadPerspective (PerspectiveManager.java:81)
[error] PerspectiveManager: at org.gjt.sp.jedit.jEdit$5.run
(jEdit.java:3450)[error] PerspectiveManager: at
java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:191)
[error] PerspectiveManager: at java.awt.EventQueue.dispatchEvent
(EventQueue.java:466)
[error] PerspectiveManager: at java.awt.EventDispatchThread.run
(EventDispatchThread.java:75)
signature.asc
Description: This is a digitally signed message part
--- End Message ---