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

IllegalComponentStateException when using HotJava with 1.1.7

    XMLWordPrintable

Details

    • b01
    • generic, x86
    • generic, solaris_2.5, windows_95, windows_nt
    • Not verified

    Backports

      Description

        In HotJava it is possible to get into a state where moving the mouse causes an IllegalComponentStateException due to code added in the lightweight dispatcher in Container.java.

        The code in TrackMouseEnterExit calls Component.getLocationOnScreen, first checking if the component is visible.

        There are two problems with this:
        1) Component.show() is not synchronized on the tree lock so there can be races
        2) The code should call isShowing instead of isVisible since that is the criteria by which getLocationOnScreen decides to throw an exception.

        The tree lock synchronization was removed in 1.1.6 (for 4114201), but experimentation in 1.2 shows it does not cause problems, and furthermore, the absence of locking will definitely cause problems. 4114201 was eventually determined to be a configuration problem.

        Attachments

          Issue Links

            Activity

              People

                rkhansunw Robi Khan (Inactive)
                rkhansunw Robi Khan (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: