RFR: 8278021: Fix warnings in macOS glass native code and treat warnings as errors [v4]
Kevin Rushforth
kcr at openjdk.org
Fri Feb 2 21:24:09 UTC 2024
On Fri, 2 Feb 2024 19:47:17 GMT, Martin Fox <mfox at 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
Btw, I ran this PR through our CI and got the expected error:
Starting process 'command 'jfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang''. Working directory: jfx/modules/javafx.graphics Command: jfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-macos-11 -mmacosx-version-min=11.0 -isysroot jfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.sdk -iframeworkjfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.sdk/System/Library/Frameworks -arch x86_64 -I/Users/java_re/jenkins/workspace/jfx-submit/label/mac-13-x64/jfx/bootjdk/jdk-21.0.2.jdk/Contents/Home/include -I/Users/java_re/jenkins/workspace/jfx-submit/label/mac-13-x64/jfx/bootjdk/jdk-21.0.2.jdk/Contents/Home/include/darw
in -std=c99 -c -O3 -DNDEBUG -DGL_SILENCE_DEPRECATION -DMACOS_MIN_VERSION_MAJOR=11 -DMACOS_MIN_VERSION_MINOR=0 -Werror -Ijfx/modules/javafx.graphics/build/gensrc/headers/javafx.graphics -Ijfx/modules/javafx.graphics/src/main/native-glass/mac -Ijfx/modules/javafx.graphics/src/main/native-glass/mac/a11y -o jfx/modules/javafx.graphics/build/native/glass/mac/GlassApplication.obj jfx/modules/javafx.graphics/src/main/native-glass/mac/GlassApplication.m
Successfully started process 'command 'jfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang''
jfx/modules/javafx.graphics/src/main/native-glass/mac/GlassApplication.m:304:24: error: instance method '-activate' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access]
[NSApp activate];
^~~~~~~~
jfx/buildSrc/build/build-tools/devkit-macosx-Xcode14.3.1+1.0.tar/Xcode/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:158:12: note: receiver is instance of class declared here
@interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
^
1 error generated.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/687#issuecomment-1924718099
More information about the openjfx-dev
mailing list