Since GNOME 2.24, GTK loads gtk modules that are set in Xsettings instead of those in the environmental variable GTK_MODULES. Because Bugster uses GTK look and feel,it will load GTK which loads libgail and libatk-bridge. As a result, both atk-bridge and java bridge are loaded. This makes the keyboard doesn't work any more.
The reason that it worked before was Java removes the modules (libgail and libatk-bridge) from GTK_MODULES when Java loads GTK. Li has changed libatk-bridge which will not load itself if it checks 'NO_AT_BRIDGE' is set. For where this environmental variable should be set in Java side, there are 2 solutions: 1. java-access-bridge We have to provide a JNI library which will be loaded by java-access-bridge because Java doesn't provide API to set the environmental variable. 2. Change the JRE code Set the environmental variable NO_AT_BRIDGE like what we did to GTK_MODULES. I prefer this solution since we don't need a platform dependent JNI library. But option 1 is more easier for us since we don't need to communicate with Java team for now and future. The patch implements Option #1. Jeff -------------- next part -------------- A non-text attachment was scrubbed... Name: no-at-bridge.diff Type: text/x-patch Size: 5402 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/jds-review/attachments/20090109/b292ad1b/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: SUNWgnome-a11y-libs.diff Type: text/x-patch Size: 792 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/jds-review/attachments/20090109/b292ad1b/attachment-0001.bin>
