hi,
I think I have isolated a bug in jamvm which causes subtle (but serious) incorrect behavior on the GTK JNI code. the bug is that if P is a parent class and C is a child class, then invoking a virtual method M on an object of class C, from jamvm's JNI, invokes P.M() rather than C.M(). so for example the event handlers on GtkGenericPeer are being fired when events arrive on GTK frames, even though the speciailzed versions in GtkFramePeer are supposed to be overriding.
I've attached a reduced testcase, in the form of a tarball which contains JNI and java sources, and a shell script which builds the problem program and runs it. you'll have to edit the script to make it work on your system, but it should be obvious.
I have not been able to immediately see which part of jamvm causes the fault. I'll continue to look through the sources for it on monday.
-graydon
jamvmbug.tar.gz
Description: GNU Zip compressed data
showbug.sh
Description: Bourne shell script_______________________________________________ Classpath mailing list [email protected] http://lists.gnu.org/mailman/listinfo/classpath

