tree e96783478dadf8a92ec0dfa8b00dc31eefd89264
parent 18edeff4e87ab5c2450d81be8eeb0e6f29003756
author DRC <information@libjpeg-turbo.org> 1635361215 -0500
committer DRC <information@libjpeg-turbo.org> 1635364222 -0500

JNI: Fix warnings/errors reported by -Xcheck:jni

- Don't check for exceptions immediately after invoking the
  GetPrimitiveArrayCritical() method.  That method does not throw
  exceptions, and checking for them caused -Xcheck:jni to warn about
  calling other JNI functions in the scope of
  Get/ReleasePrimitiveArrayCritical().

- Check for exceptions immediately after invoking the
  CallStaticObjectMethod() method in the PROP2ENV() macro.

- Don't use the Get/ReleasePrimitiveArrayCritical() methods for small
  arrays.  -Xcheck:jni didn't complain about that, but there is no
  performance advantage to using those methods rather than the
  Get*ArrayRegion() methods for small arrays, and using
  Get*ArrayRegion() makes the code less error-prone.

- Don't release the source/destination planes arrays in the YUV methods
  until after the corresponding C TurboJPEG functions have returned.
