<AWT Dev> [8] Review request for 7124244: [macosx] Shaped windows support

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Jun 25 07:22:39 PDT 2012


Hi, Artem, Anthony.
New version of the fix:
http://cr.openjdk.java.net/~serb/7124244/webrev.02/

25.06.2012 06:02, Anthony Petrov wrote:
> Hi Sergey,
>
> The fix looks good overall. Just two comments:
>
> 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java
>>  987             if (oldBB != null) {
>>  988                 backBuffer = (BufferedImage) 
>> platformWindow.createBackBuffer();
>
> Since we never create a back buffer in JDK 8 currently, I suggest to 
> comment this code out, and add a remark mentioning a CR number that 
> should make use of the code in the future.
done
>
> 2. src/share/classes/javax/swing/RepaintManager.java
>> 1501 Graphics2D g2d = (Graphics2D) osg.create();
>> 1502 g2d.setBackground(c.getBackground());
>> 1503                             g2d.clearRect(x, y, bw, bh);
>> 1504                             g2d.dispose();
>
> Please use the try {} finally {} pattern to dispose the G2D object. 
> The same comment applies to the lines 1510-1513.
fixed
>
> -- 
> best regards,
> Anthony
>
> On 06/25/12 14:42, Sergey Bylokhov wrote:
>> Hi, Artem, Anthony.
>> New version of the fix:
>> http://cr.openjdk.java.net/~serb/7124244/webrev.01
>>
>> 13.06.2012 06:30, Artem Ananiev wrote:
>>> Hi, Sergey,
>>>
>>> a few minor comments:
>>>
>>> 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in
>>> CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are
>>> corresponding checks just above.
>> done.
>>>
>>> 2. invalidateShadow() is not used in sun.lwawt, so it can be just a
>>> method in CPlatformWindow. BTW, do you have any ideas, why CGLayer
>>> holds a reference to LWWindowPeer, not to CPlatformWindow?
>> done.
>>>
>>> 3. As we don't expect isSwingBackbufferTranslucencySupported() to
>>> return different values, it would be fine to call it only once to
>>> avoid possible perf regressions.
>> done.
>>>
>>> Thanks,
>>>
>>> Artem
>>>
>>> On 6/4/2012 7:49 PM, Sergey Bylokhov wrote:
>>>> Hi Everyone,
>>>> Please review the fix.
>>>>
>>>> Shaped window was implemented as a translucent window with constrained
>>>> graphics. Now translucent window doesn't use separate BufferedImage 
>>>> as a
>>>> back buffer. Also alpha value for the swing back buffer was
>>>> enabled(Shared code changed).
>>>> Note that shaped windows are affected by this bugs:
>>>> http://monaco.us.oracle.com/detail.jsf?cr=7124236
>>>> - Shadows disappear.
>>>> - Transparent areas aren't transparent to mouse clicks.
>>>> http://monaco.sfbay.sun.com/detail.jsf?cr=7172431
>>>> - Opacity does not work for non opaque windows.
>>>>
>>>> Any suggestions are welcome.
>>>>
>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244
>>>> Webrev can be found at:
>>>> http://cr.openjdk.java.net/~serb/7124244/webrev.00
>>>>
>>
>>


-- 
Best regards, Sergey.




More information about the awt-dev mailing list