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>

Reply via email to