8009883: REGRESSION: test/closed/javax/swing/AbstractButton/4246045/bug4246045.java fails

Remove redundant focus handler that was causing a second focus event

Reviewed-by: alexsch, pchelko
This commit is contained in:
Peter Brunet 2014-05-26 16:37:25 +04:00 committed by Sergey Bylokhov
parent 8fab8231ab
commit 4239598ced

View File

@ -3679,8 +3679,8 @@ public abstract class JComponent extends Container implements Serializable,
private volatile transient int propertyListenersCount = 0;
/**
* This field duplicates the one in java.awt.Component.AccessibleAWTComponent,
* so it has been deprecated.
* This field duplicates the function of the accessibleAWTFocusHandler field
* in java.awt.Component.AccessibleAWTComponent, so it has been deprecated.
*/
@Deprecated
protected FocusListener accessibleFocusHandler = null;
@ -3738,14 +3738,10 @@ public abstract class JComponent extends Container implements Serializable,
* @param listener the PropertyChangeListener to be added
*/
public void addPropertyChangeListener(PropertyChangeListener listener) {
if (accessibleFocusHandler == null) {
accessibleFocusHandler = new AccessibleFocusHandler();
}
if (accessibleContainerHandler == null) {
accessibleContainerHandler = new AccessibleContainerHandler();
}
if (propertyListenersCount++ == 0) {
JComponent.this.addFocusListener(accessibleFocusHandler);
JComponent.this.addContainerListener(accessibleContainerHandler);
}
super.addPropertyChangeListener(listener);
@ -3760,7 +3756,6 @@ public abstract class JComponent extends Container implements Serializable,
*/
public void removePropertyChangeListener(PropertyChangeListener listener) {
if (--propertyListenersCount == 0) {
JComponent.this.removeFocusListener(accessibleFocusHandler);
JComponent.this.removeContainerListener(accessibleContainerHandler);
}
super.removePropertyChangeListener(listener);