diff options
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.c | 12 |
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); |