Skip to content

Commit 2103dc1

Browse files
author
Alexander Zvegintsev
committed
8358452: JNI exception pending in Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKeyImpl of screencast_pipewire.c:1214 (ID: 51119)
Reviewed-by: psadhukhan, serb, aivanov, avu
1 parent 1c72b35 commit 2103dc1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,6 +1016,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_getRGBPixelsImpl
10161016
const gchar *token = jtoken
10171017
? (*env)->GetStringUTFChars(env, jtoken, NULL)
10181018
: NULL;
1019+
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
10191020

10201021
isGtkMainThread = gtk->g_main_context_is_owner(gtk->g_main_context_default());
10211022
DEBUG_SCREENCAST(
@@ -1121,7 +1122,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
11211122
const gchar *token = jtoken
11221123
? (*env)->GetStringUTFChars(env, jtoken, NULL)
11231124
: NULL;
1124-
1125+
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
11251126

11261127
DEBUG_SCREENCAST("moving mouse to\n\t%d %d\n\twith token |%s|\n", jx, jy, token);
11271128

@@ -1151,6 +1152,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
11511152
const gchar *token = jtoken
11521153
? (*env)->GetStringUTFChars(env, jtoken, NULL)
11531154
: NULL;
1155+
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
11541156

11551157
gboolean result = initPortal(token, NULL, 0);
11561158
DEBUG_SCREENCAST("init result %b, mouse pressing %d\n", result, buttons)
@@ -1178,6 +1180,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopMou
11781180
const gchar *token = jtoken
11791181
? (*env)->GetStringUTFChars(env, jtoken, NULL)
11801182
: NULL;
1183+
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
11811184

11821185
gboolean result = initPortal(token, NULL, 0);
11831186
DEBUG_SCREENCAST("init result %b, mouse wheel %d\n", result, jWheelAmt)
@@ -1206,13 +1209,14 @@ JNIEXPORT jint JNICALL Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKey
12061209
int key = awt_getX11KeySym(jkey);
12071210
AWT_UNLOCK();
12081211

1209-
if (key == NoSymbol) {
1212+
if (key == NoSymbol || (*env)->ExceptionCheck(env)) {
12101213
return RESULT_ERROR;
12111214
}
12121215

12131216
const gchar *token = jtoken
12141217
? (*env)->GetStringUTFChars(env, jtoken, NULL)
12151218
: NULL;
1219+
JNU_CHECK_EXCEPTION_RETURN(env, RESULT_ERROR);
12161220

12171221
gboolean result = initPortal(token, NULL, 0);
12181222
DEBUG_SCREENCAST("init result %b, key %d -> %d isPress %b\n", result, jkey, key, isPress)

0 commit comments

Comments
 (0)