Hi Sergey,
992 // A window has a parent, but it does NOT have a container.
"Parent" is a very loose term which better be avoided. A window has an owner. A component has a container. Unfortunately, in Java both are called "parents" too very often. Please rephrase the comment to avoid using the term "parent".
Regarding the fix itself. Calling SunToolkit.getNativeContainer() results in a call to Component.getNativeContainer(). And it is in this method where the real bug resides. This method traverses the "parents" tree w/o actually checking if it goes beyond its top-level window. I suggest to fix the root cause of the bug in shared code rather than tweak a platform implementation. Note that there's a method Component.getContainer() designed specifically for cases where we want to avoid traversing owner windows.
-- best regards, Anthony On 04/22/13 16:06, Sergey Bylokhov wrote:
Hello, Please review the fix for jdk 8. SetEnable method check status of all parent containers and windows(via getParent() in SunToolkit.getNativeContainer()). But only containers in the same window should be checked. The new method was added to return the peer of the nearest heavyweight container. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166296 Webrev can be found at: http://cr.openjdk.java.net/~serb/7166296/webrev.00
