8358452: JNI exception pending in Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKeyImpl of screencast_pipewire.c:1214 (ID: 51119)

Reviewed-by: psadhukhan, serb, aivanov, avu
This commit is contained in:
Alexander Zvegintsev 2025-06-09 13:35:01 +00:00
parent 1c72b350e4
commit 2103dc15cb

View File

@ -1016,6 +1016,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_getRGBPixelsImpl
const gchar *token = jtoken const gchar *token = jtoken
? (*env)->GetStringUTFChars(env, jtoken, NULL) ? (*env)->GetStringUTFChars(env, jtoken, NULL)
: NULL; : NULL;
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
isGtkMainThread = gtk->g_main_context_is_owner(gtk->g_main_context_default()); isGtkMainThread = gtk->g_main_context_is_owner(gtk->g_main_context_default());
DEBUG_SCREENCAST( DEBUG_SCREENCAST(
@ -1121,7 +1122,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
const gchar *token = jtoken const gchar *token = jtoken
? (*env)->GetStringUTFChars(env, jtoken, NULL) ? (*env)->GetStringUTFChars(env, jtoken, NULL)
: NULL; : NULL;
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
DEBUG_SCREENCAST("moving mouse to\n\t%d %d\n\twith token |%s|\n", jx, jy, token); DEBUG_SCREENCAST("moving mouse to\n\t%d %d\n\twith token |%s|\n", jx, jy, token);
@ -1151,6 +1152,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
const gchar *token = jtoken const gchar *token = jtoken
? (*env)->GetStringUTFChars(env, jtoken, NULL) ? (*env)->GetStringUTFChars(env, jtoken, NULL)
: NULL; : NULL;
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
gboolean result = initPortal(token, NULL, 0); gboolean result = initPortal(token, NULL, 0);
DEBUG_SCREENCAST("init result %b, mouse pressing %d\n", result, buttons) DEBUG_SCREENCAST("init result %b, mouse pressing %d\n", result, buttons)
@ -1178,6 +1180,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
const gchar *token = jtoken const gchar *token = jtoken
? (*env)->GetStringUTFChars(env, jtoken, NULL) ? (*env)->GetStringUTFChars(env, jtoken, NULL)
: NULL; : NULL;
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
gboolean result = initPortal(token, NULL, 0); gboolean result = initPortal(token, NULL, 0);
DEBUG_SCREENCAST("init result %b, mouse wheel %d\n", result, jWheelAmt) DEBUG_SCREENCAST("init result %b, mouse wheel %d\n", result, jWheelAmt)
@ -1206,13 +1209,14 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKey
int key = awt_getX11KeySym(jkey); int key = awt_getX11KeySym(jkey);
AWT_UNLOCK(); AWT_UNLOCK();
if (key == NoSymbol) { if (key == NoSymbol || (*env)->ExceptionCheck(env)) {
return RESULT_ERROR; return RESULT_ERROR;
} }
const gchar *token = jtoken const gchar *token = jtoken
? (*env)->GetStringUTFChars(env, jtoken, NULL) ? (*env)->GetStringUTFChars(env, jtoken, NULL)
: NULL; : NULL;
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
gboolean result = initPortal(token, NULL, 0); gboolean result = initPortal(token, NULL, 0);
DEBUG_SCREENCAST("init result %b, key %d -> %d isPress %b\n", result, jkey, key, isPress) DEBUG_SCREENCAST("init result %b, key %d -> %d isPress %b\n", result, jkey, key, isPress)