<AWT Dev> [8] Request for review: 8009012 [macosx] DisplayChangedListener is not implemented in LWWindowPeer/CGraphicsEnvironment

Anthony Petrov anthony.petrov at oracle.com
Thu Apr 18 06:54:17 PDT 2013


Hi Sergey,

src/macosx/native/sun/java2d/opengl/CGLLayer.m
>  214 Java_sun_java2d_opengl_CGLLayer_nativeSetScale
>  219     [ThreadUtilities performOnMainThreadWaiting:[NSThread isMainThread] block:^(){

That's an interesting pattern, but it looks more like a workaround to 
me, because the contract defined by the nativeSetScale is unclear with 
this implementation. Where do we call this method from? Can we ensure 
all calls always occur on a specific thread?

--
best regards,
Anthony

On 04/17/13 13:42, Sergey Bylokhov wrote:
> Hello,
> Please review the fix for jdk 8.
> displayChanged() was added to LWWindowPeer and CGraphicsDevice. Note
> that I move out unnecessary calls to the appkit thread(in
> CGLayer.nativeSetScale() and CGraphicsDevice.getX), because it can cause
> a deadlock, when called from the non-appkit thread.
>
> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8009012
> Webrev can be found at: http://cr.openjdk.java.net/~serb/8009012/webrev.00
>
> --
> Best regards, Sergey.
>



More information about the awt-dev mailing list