Closed
Bug 1204171
Opened 10 years ago
Closed 9 years ago
Accessible ATK/AT-SPI2 keyboard event notifications do not appear to get deregistered
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
mozilla52
People
(Reporter: jdiggs, Assigned: tbsaunde)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
|
687 bytes,
text/x-python
|
Details | |
|
1.29 KB,
patch
|
davidb
:
review+
|
Details | Diff | Splinter Review |
Steps to reproduce:
1. Launch Firefox
2. Launch the attached accessible-event listener in a terminal
3. Repeat the following steps several times:
a. Switch to Firefox
b. Press Left Arrow once
c. Press Right Arrow once
d. Press F4 to terminate the listener
e. Re-launch the listener and go to step 3a.
Expected results: Each key press would result in only one accessible key-press notification.
Actual results: Each key press results in x key-press notifications, where x is the number of times steps 3a through 3e have been performed. (Sample output below.)
I can reproduce this in Thunderbird and Firefox, but do not see the problem in GNOME Shell (clutter-based) or Gtk+ apps.
=============
Sample output
=============
[jd@blockhead ~]$ ./keyevents.py
Press F4 to terminate this listener
Left pressed
Right pressed
F4 pressed
[jd@blockhead ~]$ ./keyevents.py
Press F4 to terminate this listener
Left pressed
Left pressed
Right pressed
Right pressed
F4 pressed
[jd@blockhead ~]$ ./keyevents.py
Press F4 to terminate this listener
Left pressed
Left pressed
Left pressed
Right pressed
Right pressed
Right pressed
F4 pressed
[jd@blockhead ~]$ ./keyevents.py
Press F4 to terminate this listener
Left pressed
Left pressed
Left pressed
Left pressed
Right pressed
Right pressed
Right pressed
Right pressed
F4 pressed
| Assignee | ||
Comment 1•10 years ago
|
||
WHen I run that event listener restarting it doesn't show me duplicate events. Maybe orca is eating all but one of the events?
Flags: needinfo?(jdiggs)
| Assignee | ||
Comment 2•9 years ago
|
||
The listener id is postincremented as a subexpression of being inserted into
the hash table. That means the key inserted into the table is 1 less than the
value returned from the function. Which means that later attempts to remove
the returned id will fail because that hash table knows about a different id.
Attachment #8794808 -
Flags: review?(dbolter)
Comment 3•9 years ago
|
||
Comment on attachment 8794808 [details] [diff] [review]
make mai_util_add_key_event_listener return the correct listener id
Review of attachment 8794808 [details] [diff] [review]:
-----------------------------------------------------------------
good catch.
Attachment #8794808 -
Flags: review?(dbolter) → review+
Pushed by tsaunders@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/14b0ea0c7b1c
make mai_util_add_key_event_listener return the correct listener id r=davidb
Comment 5•9 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox52:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Updated•9 years ago
|
Assignee: nobody → tbsaunde+mozbugs
Updated•5 years ago
|
Flags: needinfo?(jdiggs)
You need to log in
before you can comment on or make changes to this bug.
Description
•