On Tue, 11 Jan 2022 22:18:53 GMT, Martin Fox <d...@openjdk.java.net> wrote:

> The OS crashes if the contentView of a window is set to nil while handling 
> processKeyEquivalent. With this PR we just set the contentView to a basic 
> do-nothing NSView for the interim.

This PR fixes the JDK-8242544 issue as intended. I've added a couple of minor 
comments. 

Regarding #704, which also fixed the related issue JDK-8205915 but was 
targeting JDK-8242544, maybe it should be just updated to target the former?

modules/javafx.graphics/src/main/native-glass/mac/GlassWindow.m line 847:

> 845:         {
> 846:             // If the contentView is set to nil within 
> performKeyEquivalent: the OS will crash.
> 847:             NSView* dummy = [[NSView alloc] initWithFrame: NSMakeRect(0, 
> 0, 10, 10)];

The view could be also created with a (0, 0, 0, 0) rect, couldn't it?

modules/javafx.graphics/src/main/native-glass/mac/GlassWindow.m line 848:

> 846:             // If the contentView is set to nil within 
> performKeyEquivalent: the OS will crash.
> 847:             NSView* dummy = [[NSView alloc] initWithFrame: NSMakeRect(0, 
> 0, 10, 10)];
> 848:             [window->nsWindow 
> performSelectorOnMainThread:@selector(setContentView:) withObject:dummy 
> waitUntilDone:YES];

I'm not sure is needed or worth it, but maybe the `dummy` view should be 
released?

-------------

PR: https://git.openjdk.java.net/jfx/pull/714

Reply via email to