mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-14 18:03:44 +00:00
8371225: Missing release of GDK lock in Java_sun_awt_X11_GtkFileDialogPeer_run()
Reviewed-by: aivanov, serb
This commit is contained in:
parent
90ccdf2986
commit
8a0c47d4ba
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -324,8 +324,6 @@ Java_sun_awt_X11_GtkFileDialogPeer_run(JNIEnv * env, jobject jpeer,
|
||||
JNU_CHECK_EXCEPTION(env);
|
||||
}
|
||||
|
||||
gtk->gdk_threads_enter();
|
||||
|
||||
const char *title = jtitle == NULL? "": (*env)->GetStringUTFChars(env, jtitle, 0);
|
||||
if (title == NULL) {
|
||||
(*env)->ExceptionClear(env);
|
||||
@ -333,6 +331,8 @@ Java_sun_awt_X11_GtkFileDialogPeer_run(JNIEnv * env, jobject jpeer,
|
||||
return;
|
||||
}
|
||||
|
||||
gtk->gdk_threads_enter();
|
||||
|
||||
if (mode == java_awt_FileDialog_SAVE) {
|
||||
/* Save action */
|
||||
dialog = gtk->gtk_file_chooser_dialog_new(title, NULL,
|
||||
@ -360,6 +360,7 @@ Java_sun_awt_X11_GtkFileDialogPeer_run(JNIEnv * env, jobject jpeer,
|
||||
if (jdir != NULL) {
|
||||
const char *dir = (*env)->GetStringUTFChars(env, jdir, 0);
|
||||
if (dir == NULL) {
|
||||
gtk->gdk_threads_leave();
|
||||
(*env)->ExceptionClear(env);
|
||||
JNU_ThrowOutOfMemoryError(env, "Could not get dir");
|
||||
return;
|
||||
@ -372,6 +373,7 @@ Java_sun_awt_X11_GtkFileDialogPeer_run(JNIEnv * env, jobject jpeer,
|
||||
if (jfile != NULL) {
|
||||
const char *filename = (*env)->GetStringUTFChars(env, jfile, 0);
|
||||
if (filename == NULL) {
|
||||
gtk->gdk_threads_leave();
|
||||
(*env)->ExceptionClear(env);
|
||||
JNU_ThrowOutOfMemoryError(env, "Could not get filename");
|
||||
return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user