Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8069268

JComponent.AccessibleJComponent.addPropertyListeners adds exponential listeners

XMLWordPrintable

        Some code that was added to javax.swing.JComponent.java in jdk 1.6.0 was
        inadvertently left out of jdk 1.8.0.

        The code corrected a problem by which as new property listeners are added,
        and exponential recursive list of propertyListeners are no longer added.

        Comparing JComponent.java from jdk 1.7.0.71 and jdk 1.8.0.40.0b19, the
        following code is missing from the jdk 1.8.0 version:

        diff command:
        diff jdk7\JComponent.java jdk8\JComponent
        yields:
        3744,3747d3740
        < if (accessibleFocusHandler == null) {
        < accessibleFocusHandler = new AccessibleFocusHandler();
        < JComponent.this.addFocusListener(accessibleFocusHandler);
        < }

        This code should appear at the beginning of the addPropertyChangeListener
        method.

        With this code missing, it renders JDeveloper unusable because of the exponential adding of propertyChangeListeners which eventually simply causes the jvm to stop working.

              van Vivi An (Inactive)
              shadowbug Shadow Bug
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: