<AWT Dev> Request for review: 7154778 - NSView-based embedded frame
Anthony Petrov
anthony.petrov at oracle.com
Wed Nov 28 07:09:08 PST 2012
Hi Petr,
1. src/macosx/native/sun/osxapp/ThreadUtilities.h
I suggest to introduce a static (+) method in the ThreadUtilities class
rather than a new global macro.
Also, while I agree with Sergey that eventually we should use it
everywhere in AWT, I suggest to replace other occurrences of this code
later, with a separate refactoring fix. Use the new method only for the
code that you change/introduce with this fix.
BTW, in case wait==NO, we should force going through the JNFRunLoop even
if we're running on the main thread.
2. LWWindowPeer.java, CPlatformWindow.java, and peerType
It looks like the CPlatformWindow doesn't even need to know the
peerType. I think we can safely drop the peerType argument from
CPlatformWindow constructor, and only store it in the LWWindowPeer
itself. Should we need the value in the future, we can always ask the
LWWindowPeer since CPW keeps a reference to the peer object.
3. src/macosx/classes/sun/lwawt/macosx/CMouseInfoPeer.java
I think we could avoid using the instancof and instead introduce a
method in the PlatformWindow interface (like isUnderMouse()). The CPW
and CVPEF would simply provide different implementations for this method.
4. CWrapper.m
You could use the new ThreadingUtilities machinery here as well.
--
best regards,
Anthony
On 11/27/2012 1:55 PM, Petr Pchelko wrote:
> Hello, AWT team.
>
> please, review the following fix for 7154778:
>
> http://cr.openjdk.java.net/~art/pchelko/7154778/
>
> The bug description and evaluation is available here:
>
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7154778
>
> To work with the new EmbeddedFrame implementation, existing code (e.g.
> SWT) needs to be modified to use sun.lwawt.macosx.CViewEmbeddedFrame
> class instead of Apple's apple.awt.CEmbeddedFrame.
> Here is the corresponding patch for SWT:
>
> http://cr.openjdk.java.net/~art/pchelko/7154778/swt_patch.txt
>
>
> Best, Petr Pchelko
More information about the awt-dev
mailing list