On Fri, 2 Feb 2024 19:47:17 GMT, Martin Fox <m...@openjdk.org> wrote:
>> Turning on warnings-as-errors for the macOS glass native code. Deprecated >> declarations are excluded and still appear as warnings. >> >> In the code that tries to locate the application's dock icon there were >> three instances where `NO` was being passed into a method that required a >> pointer to a `BOOL`, not a `BOOL`. I suspect the intent was to check that >> the path pointed to an existing file but not a directory. Since JavaFX has >> gone this long without screening out directories correctly I decided not to >> fix that behavior except at the very end. >> >> The only other changes of note are sending some NSNotification objects to >> delegate API's that require them even though we know they're ignored on the >> other side. It was the easiest way to get rid of the warning. > > Martin Fox has updated the pull request incrementally with one additional > commit since the last revision: > > Added OS version guard for NSApp activate call Ouch. We're targeting a minimum macOS version of 11.0 but `[NSApp activate]` is only available on 14.0 and above. Xcode 15 should issue a warning about this but doesn't *if this is the only version warning in the file*. I've tried this with a standalone app and also tweaked the Glass code and the result is the same; I get no warning unless I add some other 14.0-specific call in the same file. At that point I'll get a warning about the other violation in addition to the `[NSApp activate]` call. Adding an `@available` check around this is the right thing to do but not enough to appease the pre-submit bot which is building with the 13.3 SDK. To clean this up either the bot needs to be upgraded or I need to add a localized pragma to disable this check. ------------- PR Comment: https://git.openjdk.org/jfx/pull/687#issuecomment-1924616685