I can't do better than that, since all these revisions fail to build.
The git bisect log is:
git-bisect start
# bad: [0050d7e78d990fa945bd808554b0a86721262786] DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug #10639)
git-bisect bad 0050d7e78d990fa945bd808554b0a86721262786
# good: [99dd8b9414d1eb7aabc682be0b9cfd7a27eb2a6b] Bump version to 1.4.0.
git-bisect good 99dd8b9414d1eb7aabc682be0b9cfd7a27eb2a6b
# bad: [15117d47bf883f3eefc57404f1dfc0c933ab054a] xkb: enable XI event processing for xkb.
git-bisect bad 15117d47bf883f3eefc57404f1dfc0c933ab054a
# good: [bd779f8cde1c71a0db8470b8c993504da7c1104e] configure.ac/XFree86: Only build XF86Misc and XF86VidMode when appropriate
git-bisect good bd779f8cde1c71a0db8470b8c993504da7c1104e
# skip: [b76b1d51fe3053fa2a60b64de9ac93f50ef252f5] XFree86: Remove ridiculous SIGIO debugging
git-bisect skip b76b1d51fe3053fa2a60b64de9ac93f50ef252f5
# skip: [a53172827c69a88155a088843c9a3e8a7a7a0463] xkb: Store the action filters per device in the XkbSrvInfoRec.
git-bisect skip a53172827c69a88155a088843c9a3e8a7a7a0463
# skip: [b600e7c123ce637359a75c43bf67b3462eadb37e] XKB: Add more bits to xkbsrv.h
git-bisect skip b600e7c123ce637359a75c43bf67b3462eadb37e
# good: [63c6d9d622a10303f594a07bd86dda8e5f894ca7] Xi: Include XI protocol header in exevents.h
git-bisect good 63c6d9d622a10303f594a07bd86dda8e5f894ca7
# skip: [83e76fb3f7a89a237893c2b7df450d4f90eab52d] Save processInputProc before wrapping it and restore it later, instead of using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to process DeviceKeyEvents after the first key press.
git-bisect skip 83e76fb3f7a89a237893c2b7df450d4f90eab52d
I'll try to build upstream git head, and verify that the bug is still reproducible in there.
I've run a git-bisect against upstream xserver, results here:
The bug is introduced somewhere in the following commits
a53172827c69a88 155a088843c9a3e 8a7a7a0463 a2a60b64de9ac93 f50ef252f5 37893c2b7df450d 4f90eab52d 359a75c43bf67b3 462eadb37e eefc57404f1dfc0 c933ab054a
b76b1d51fe3053f
83e76fb3f7a89a2
b600e7c123ce637
15117d47bf883f3
I can't do better than that, since all these revisions fail to build. a945bd808554b0a 86721262786] DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug #10639) 945bd808554b0a8 6721262786 7aabc682be0b9cf d7a27eb2a6b] Bump version to 1.4.0. aabc682be0b9cfd 7a27eb2a6b 3eefc57404f1dfc 0c933ab054a] xkb: enable XI event processing for xkb. eefc57404f1dfc0 c933ab054a a0db8470b8c9935 04da7c1104e] configure. ac/XFree86: Only build XF86Misc and XF86VidMode when appropriate 0db8470b8c99350 4da7c1104e fa2a60b64de9ac9 3f50ef252f5] XFree86: Remove ridiculous SIGIO debugging a2a60b64de9ac93 f50ef252f5 8155a088843c9a3 e8a7a7a0463] xkb: Store the action filters per device in the XkbSrvInfoRec. 155a088843c9a3e 8a7a7a0463 7359a75c43bf67b 3462eadb37e] XKB: Add more bits to xkbsrv.h 359a75c43bf67b3 462eadb37e 03f594a07bd86dd a8e5f894ca7] Xi: Include XI protocol header in exevents.h 3f594a07bd86dda 8e5f894ca7 237893c2b7df450 d4f90eab52d] Save processInputProc before wrapping it and restore it later, instead of using a hardcoded ProcessKeyboard Event. Otherwise we lose the ability to process DeviceKeyEvents after the first key press. 37893c2b7df450d 4f90eab52d
The git bisect log is:
git-bisect start
# bad: [0050d7e78d990f
git-bisect bad 0050d7e78d990fa
# good: [99dd8b9414d1eb
git-bisect good 99dd8b9414d1eb7
# bad: [15117d47bf883f
git-bisect bad 15117d47bf883f3
# good: [bd779f8cde1c71
git-bisect good bd779f8cde1c71a
# skip: [b76b1d51fe3053
git-bisect skip b76b1d51fe3053f
# skip: [a53172827c69a8
git-bisect skip a53172827c69a88
# skip: [b600e7c123ce63
git-bisect skip b600e7c123ce637
# good: [63c6d9d622a103
git-bisect good 63c6d9d622a1030
# skip: [83e76fb3f7a89a
git-bisect skip 83e76fb3f7a89a2
I'll try to build upstream git head, and verify that the bug is still reproducible in there.