aboutsummaryrefslogtreecommitdiff
path: root/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c')
-rw-r--r--libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
index 94c9c3d0c2d..b4e64e62d02 100644
--- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
+++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
@@ -39,22 +39,24 @@ exception statement from your version. */
#include "gtkpeer.h"
#include "gnu_java_awt_peer_gtk_GtkChoicePeer.h"
-static void selection_changed (GtkComboBox *combobox, gpointer data);
+static void selection_changed (GtkComboBox *combobox, jobject peer);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create
(JNIEnv *env, jobject obj)
{
GtkWidget *combobox;
+ jobject *gref;
NSA_SET_GLOBAL_REF (env, obj);
+ gref = NSA_GET_GLOBAL_REF (env, obj);
gdk_threads_enter ();
combobox = gtk_combo_box_new_text ();
g_signal_connect (combobox, "changed",
- G_CALLBACK (selection_changed), obj);
+ G_CALLBACK (selection_changed), *gref);
gdk_threads_leave ();
@@ -175,7 +177,7 @@ Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeGetSelected
return index;
}
-void selection_changed (GtkComboBox *combobox, jobject peer)
+static void selection_changed (GtkComboBox *combobox, jobject peer)
{
jstring label;
GtkTreeModel *model;
@@ -195,8 +197,8 @@ void selection_changed (GtkComboBox *combobox, jobject peer)
gdk_threads_leave ();
- label = (*gdk_env)->NewStringUTF (gdk_env, selected);
- (*gdk_env)->CallVoidMethod (gdk_env, peer,
+ label = (*gdk_env())->NewStringUTF (gdk_env(), selected);
+ (*gdk_env())->CallVoidMethod (gdk_env(), peer,
choicePostItemEventID,
label,
(jint) AWT_ITEM_SELECTED);