diff options
author | Michael Stapelberg <michael@stapelberg.de> | 2011-10-24 21:18:43 +0100 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2011-10-24 21:23:33 +0100 |
commit | a803ba931e74e6f99a478584e1280626c0c880e3 (patch) | |
tree | b032270659e49f8390204cd2fa1df25c5d099c07 /keysym2ucs.h | |
parent | 493b02aa0408bb3dce6b4cda4e8352053e2188ef (diff) |
Bugfix: Don’t re-grab pointer/keyboard on MappingNotify (Thanks wilmer)
This fixes bug http://bugs.i3wm.org/545, where characters (of your password)
would rarely slip through when entering your password (especially) after
resuming your notebook from suspend to RAM.
The reason is that when resuming, X triggers one or more MappingNotify events.
At the same time, CPU load is high. This leads to a race-condition between the
ungrab and re-grab in which i3lock temporarily does not grab the keyboard.
One way to fix this is using xcb_grab_server() before and xcb_ungrab_server()
after the ungrab/re-grab. However, I think we actually don’t need to
ungrab/re-grab at all. I seem to have put that code in here by mistake – in i3,
we re-grab after MappingNotify, but there we only grab specific keys. In
i3lock, we grab the whole pointer/keyboard, so there should be no need.
If I’m incorrect and this breaks some subtle use-cases for people with strange
layout setup, at least we can properly document on why we need it, after we put
it back in ;).
Diffstat (limited to 'keysym2ucs.h')
0 files changed, 0 insertions, 0 deletions