diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-11 15:30:23 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-11 15:52:33 +1000 |
commit | 29f075db9f86aa7e5e01688a5fd5e0081210e16b (patch) | |
tree | d0c217cc09508b90d029efec8b959e1e99dfdcc9 | |
parent | 7a4d6f396597c4b96e1402dadfcd2c0e5b7b0579 (diff) | |
download | xorg-driver-xf86-input-keyboard-29f075db9f86aa7e5e01688a5fd5e0081210e16b.tar.gz |
Return BadValue if the server failed to init the keyboard. (#21278)
If keyboard init failed, we don't have a useful keymap and thus can't
continue.
This is essentially 0e15697b53c9448ce9911aa6499b2ea0bda92af6 from
xserver ported over here.
X.Org Bug 21278 <http://bugs.freedesktop.org/show_bug.cgi?id=21278>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/kbd.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -424,7 +424,14 @@ KbdProc(DeviceIntPtr device, int what) rmlvo.variant = xkb_variant; rmlvo.options = xkb_options; - InitKeyboardDeviceStruct(device, &rmlvo, KbdBell, KbdCtrl); + if (!InitKeyboardDeviceStruct(device, &rmlvo, KbdBell, KbdCtrl)) + { + xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This " + "could be a missing or incorrect setup of " + "xkeyboard-config.\n", device->name); + + return BadValue; + } } #else { |