After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 107988 - at-spi modifier relatch broken when using GOK
at-spi modifier relatch broken when using GOK
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: registry
unspecified
Other All
: Normal major
: ---
Assigned To: bill.haneman
bill.haneman
Depends on:
Blocks: 107985
 
 
Reported: 2003-03-10 12:34 UTC by bill.haneman
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4


Attachments
patch for this bug, tested. (4.11 KB, patch)
2003-03-10 12:54 UTC, bill.haneman
none Details | Review

Description bill.haneman 2003-03-10 12:34:13 UTC
at-spi's modifier relatch behavior is overzealous when GOK is running in
corepointer mode; because the consumed buttonpress triggers an XKB
'relatch'.  That's desirable, but because at-spi can't actually successfull
do an XGrabButton anymore (metacity, I think), it has to use fallback
detection methodsfor button state changes.  It catches the button press,
sends it to GOK which consumes it, then orders a relatch (since it knows
that the button event will trigger an Xkb delatch event as a side-effect,
which we want to revert.

However, in the case of GOK, the button press also triggers a (synchronous)
call to SPI_generateKeystroke, which in most cases will also
(appropriately!) cause an XKB delatch.  But since we've just issued a
pending 'relatch' request, this delatch will get reverted.

The only solution seems to be to check in generateKeystroke to see if the
generated key event should cause a delatch or not, and "cancel" the relatch
order if it should.  Ugh!
Comment 1 bill.haneman 2003-03-10 12:54:01 UTC
Created attachment 14891 [details] [review]
patch for this bug, tested.