<AWT Dev> [8] Review request for 8025775: JNI warnings in TryXShmAttach
Anton Litvinov
anton.litvinov at oracle.com
Mon Dec 2 06:52:05 PST 2013
Hello Artem,
Thank you for review of this fix. Could you please review the second
version of the fix, which should follow your remarks.
Webrev: http://cr.openjdk.java.net/~alitvinov/8025775/jdk8/webrev.01
Differences between this version of the fix and the previous version are
following:
1. The unused variable "xerror_code" was removed from "awt_util.h",
"awt_util.c" files.
2. The unused macro "XERROR_SAVE" was removed from "awt_util.h" file.
3. Declaration of the external variable "current_native_xerror_handler"
was removed from "XlibWrapper.c" file, however the next line was added
to "XlibWrapper.c" file to be able to compile JDK.
44 #include <awt_util.h>
4. In the file "XlibWrapper.c" the comment was changed from
1270 // Pass the event to a native synthetic error handler first.
to
1270 // First call the native synthetic error handler declared
in "awt_util.h" file.
Thank you,
Anton
On 12/2/2013 12:19 PM, Artem Ananiev wrote:
> Hi, Anton,
>
> the fix looks fine in general. A few minor comments:
>
> 1. xerror_code is not used now and can be removed. XERROR_SAVE seems
> to be unused as well.
>
> 2. current_native_xerror_handler can be declared as "extern" in
> awt_util.h, so you don't need to declare it in every file where it's
> used (e.g. in XlibWrapper.c)
>
> Thanks,
>
> Artem
>
> On 11/30/2013 2:13 AM, Anton Litvinov wrote:
>> Hello,
>>
>> Could you please review the following fix for the bug, which consists in
>> invocation of Java methods from native code via JNI ("TryXShmAttach"
>> function in "awt_GraphicsEnv.c" file) after "GetPrimitiveArrayCritical"
>> is called ("BufImg_GetRasInfo" function in "BufImgSurfaceData.c" file).
>>
>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8025775
>> Webrev: http://cr.openjdk.java.net/~alitvinov/8025775/jdk8/webrev.00
>>
>> The solution is based on:
>> - Reversion of all XError handling code implemented as "native -> Java"
>> calls in the fix for CR 8005607 to its prior state with native error
>> handlers.
>> - Introduction of a native synthetic error handler
>> "awt_util.c::current_native_xerror_handler" set/unset through previously
>> known macros in "awt_util.h" file and called from
>> "XlibWrapper.c::ToolkitErrorHandler" function before a call to Java
>> synthetic error handler.
>>
>> The fix also changed both returned native error handlers:
>> "awt_GraphicsEnv.c::XShmAttachXErrHandler",
>> "GLXSurfaceData.c::GLXSD_BadAllocXErrHandler" not to call previous error
>> handler and to always return "0" value as a result.
>>
>> Thank you,
>> Anton
More information about the awt-dev
mailing list