This fixes several bugs, the most serious being that the selected index was not being updated. This also simplifies the code a bit.
I'd like this to get into the release branch, while it's a rather big change, I tested this _very_ rigorously. I'll be writing an email to the main list on the event handling. /Sven 2006-07-30 Sven de Marothy <[EMAIL PROTECTED]> * java/awt/Choice.java: (accessibleAction): Call select() directly. (add, insert, remove): Reimplement. (dispatchEventImpl): Always call super. (processItemEvent): Does not set the index. * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c (append): removed. (nativeAdd): Name changed to add. (selection_changed_cb): Simplify callback. * gnu/java/awt/peer/gtk/GtkChoicePeer.java (selected): New field. (add): Replaced with native impl. (handleEvent): New method.