<AWT Dev> [8] Review request for 8013581: [macosx] Key Bindings break with awt GraphicsEnvironment setFullScreenWindow

Anthony Petrov anthony.petrov at oracle.com
Mon Oct 28 06:29:58 PDT 2013


Hi Leonid,

The fix looks somewhat risky so late in the release. But I talked with 
Sergey and I see that it resolves a lot of real problems. So I'm sort of 
OK with it. A few comments:

src/macosx/native/sun/awt/AWTWindow.m
>  255     self.preFullScreenLevel = [self.nsWindow level];

The alwaysOnTop state may be changed dynamically, and thus the value 
stored in this property might get stale. Either, we don't need this 
initializer altogether since we need to store the level only after a 
window enters the full screen mode and don't care about it after we exit 
the mode, or we should update it dynamically (in 
-setPropertiesForStyleBits, I suppose).

src/macosx/classes/sun/lwawt/macosx/CPlatformLWView.java
In this View implementation we explicitly made enter/exitFSM() methods 
no-ops. What are the LWViews used for, and do they now allow entering 
the full screen mode after your fix? If yes, I think we should find a 
way to disable that.

--
best regards,
Anthony

On 10/25/2013 09:33 PM, Leonid Romanov wrote:
> Hello,
> Please review a fix for 8013581: [macosx] Key Bindings break with awt GraphicsEnvironment setFullScreenWindow
> The problem here is that NSView's -enterFullScreenMode: withOptions: we currently use for entering exclusive full screen mode does it by creating a NSFullScreenWindow instance and moving the view from its window to that newly created full screen window. Since we do not control NSFullScreenWindow creation, we do not get any focus and other notifications from it.
> The fix is to stop using -enterFullScreenMode: withOptions:  and just achieve the exclusive full screen mode manually.
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8013581
> Webrev: http://cr.openjdk.java.net/~leonidr/8013581/webrev.00/
>
> Regards,
> Leonid.
>


More information about the awt-dev mailing list