On Wed, 14 Jul 2021 05:48:42 GMT, Maxim Kartashev <github.com+28651297+mkartas...@openjdk.org> wrote:
>> Added an `ExceptionCheck()` followed by `ExceptionDescribe()` and >> `ExceptionClear()` immediately after the Java calls made from the callback >> function `ReadTTFontFileFunc()` in `freetypeScaler.c`. >> >> The exception(s) need to be cleared because we're not returning immediately >> to Java that would've been able to handle them gracefully. And in order not >> to loose the exception entirely (even though the return value would also >> indicate an error condition), print out the exception with >> `ExceptionDescribe()` to aid in debugging. > > Maxim Kartashev has updated the pull request incrementally with one > additional commit since the last revision: > > 1. Marked the test as headful so that it doesn't fail on a headless > system. > 2. Added exception checks to Windows-specific code. src/java.desktop/windows/native/libawt/java2d/d3d/D3DRenderQueue.cpp line 870: > 868: J2dTraceLn(J2D_TRACE_VERBOSE, " executing runnable"); > 869: jboolean ignoreException; > 870: JNU_CallMethodByName(env, &ignoreException, pFlush->runnable, > "run", "()V"); What is the purpose of this change? the only difference is that in the second case the ExceptionCheck will be called, does it affect something? src/java.desktop/windows/native/libawt/windows/awt_Component.cpp line 6575: > 6573: jintArray obj = (jintArray)JNU_CallStaticMethodByName(env, > &ignoreException, > 6574: > "java/awt/event/InputEvent", > 6575: > "getButtonDownMasks", "()[I").l; obj might be null? Can not we just add CHECK_NULL(obj) here? ------------- PR: https://git.openjdk.java.net/jdk/pull/4572