Request for review: 7131367 [macosx] reg test test/java/awt/Window/TranslucentJAppletTest fails
Sergey Bylokhov
sergey.bylokhov at oracle.com
Thu Feb 2 03:56:04 PST 2012
01.02.2012 23:00, Anthony Petrov wrote:
> On 2/1/2012 9:06 PM, Sergey Bylokhov wrote:
>> 01.02.2012 20:22, Anthony Petrov пишет:
>>> All the other peers call super.initialize() in the beginning of
>>> their overridden initialize() methods, and making an exception just
>>> for the LWWindowPeer seems to be inconsistent.
>> Well, I believe that all other components should call
>> super.initialize() at the end too. I just have no time to test them
>> all. Because it is cause lots of unnecessary repaints. We shouldn't
>> initialize components after we show them.
>
> I agree, partially. I believe that the setVisible() call should indeed
> follow all other initialization. However, the rest of settings which
> LWComponentPeer.initialize() performs should go ahead of custom
> initialization performed by specialized peers, because custom
> initializers may in theory tweak the general settings.
Well, if custom initializer want to tweak the general settings, it
should tweak it not just during initialization but during regular
changes too? For example if sub class want to tweak its bounds it should
do it in setBounds not in initialization. I'll create separate RFE for
refactoring of peer initialization.
>
> --
> best regards,
> Anthony
>
>>> Since the only reason for that is to postpone the setVisible() call,
>>> I would suggest either introducing pre- and post-Initialize()
>>> methods (the approach is similar to XToolkit), or there might be a
>>> flag that could be reset in LWWindowPeer ctor that would indicate
>>> that LWComponentPeer.initialize() shouldn't call setVisible(). Then,
>>> the LWWindowPeer.initialize() would call setVisible() as its last step.
>>>
>>> It just seems that having the inconsistency as present in your
>>> current fix may hurt us in the future when e.g. we modify the logic
>>> in the LWComponentPeer.initialize() and would expect it to be in
>>> effect before setting additional properties for the LWWindowPeer.
>>>
>>> --
>>> best regards,
>>> Anthony
>>>
>>> On 2/1/2012 5:02 PM, Sergey Bylokhov wrote:
>>>> Hi Everyone,
>>>> Peers shouldn't accumulate an alpha after repainting, so clearRect
>>>> was added. And now we call setVisible for window after full
>>>> initialization.
>>>>
>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7131367
>>>> Webrev can be found at:
>>>> http://cr.openjdk.java.net/~serb/7131367/webrev.00/
>>>>
>>
>>
--
Best regards, Sergey.
More information about the macosx-port-dev
mailing list