<AWT Dev> [8] Request for review: 7166296 closed/java/awt/Frame/DisabledParentOfToplevel/DisabledParentOfToplevel.html failed since 1.8.0b36

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Apr 22 07:24:32 PDT 2013


On 22.04.2013 17:55, Anthony Petrov wrote:
> Ah, I see the Component.getNativeContainer() checks whether the peer 
> is lightweight or not. I believe it needs to be overridden in the 
> Window class to return "this", though. Otherwise there's still a bug 
> in this method.
But window's implementation mix owner/container during initialization of 
WWindowPeer. There is only one field "parent", which assigned from the 
SunToolkit.getNativeContainer().
I assume that, when this method was added the window's parent/container 
and the window's owner were one concept.
> I don't quite understand this point. Please elaborate.
>
> What I see is that we call SunToolkit.getNativeContainer() which isn't 
> overridden in UNIXToolkit nor XToolkit, and thus results in a call to 
> Toolkit.getNativeContainer(). The latter calls 
> Component.getNativeContainer(). Which, w/o an override suggested 
> above, produces an incorrect result and is the root cause of our bug, 
> isn't it?
The question is, what the result is correct. Currently, some code 
expects the owner will be refunded.
>
> -- 
> best regards,
> Anthony
>
>>>
>>> -- 
>>> 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
>>>>
>>
>>


-- 
Best regards, Sergey.




More information about the awt-dev mailing list