Some updates since the last post:
The "GTK dies on a keypress" bug
Good news: it was fixed by Matthias Clasen. It was solved in the SVN version, I guess that we'll have to wait a while till it gets into the next version, Unless package maintainers would manually add it.
Doing a good QA in the FOSS community
I've learned a quick lesson about good QA in the open source community, which I find very rare.
In this case the bug was reported for ~2 months with no activity ("it sometimes crashes" type of report). Until I've added my description, which, probably helped it to get closed.
I'll try to sum up what I've learned:
This annoying vmware-deletes-the-modifier-keys bug I wrote about is still a mystery, but still I gained some more info. There are two problems:
1. VMware deletes modifier keys:
- Can be replicated by holding a modifier key down inside a guest OS (VMware console). Then moving the mouse out of the guest OS window, while modifier is still down.
- Happens on modern Ubuntu/Debian/Arch Linux versions.
- Very likely, but not 100% confirmed: happens since Xorg 7.3.
- Doesn't happen on CentOS / RedHat EL 5. (Apparently because they use Xorg 7.1.1?)
- Links: Ubuntu launchpad, VMware forums.
Still, is it an Xorg bug or VMware one? (or GTK)
2. GTK apps crash on a keypress, when X modifiers-list is empty.
- If 'xmodmap' is emptied (either by the VMware bug described above, or by manually removing all the modifiers), each new-running GTK app would just crash as the first key is pressed.
- This doesn't happen to KDE or plain-X11 apps.
- Segmentation fault is received in the _gdk_keymap_key_is_modifier() function in gdkkeys-x11.c:1662.
- I tried digging the code, but no luck yet (all I could do is skip the function if no modifiers are set, but I don't know GDK enough to know the other effects it can have).
- Links: Gnome bugzilla.
I'll keep updating in case there'll be something interesting.
Update: gtk bug got fixed.