diff options
author | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-05-22 01:12:49 +0000 |
---|---|---|
committer | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-05-22 01:12:49 +0000 |
commit | 62343f5162066f19ca6e62d1c85a4a40d45b3295 (patch) | |
tree | 801fac4154f316c82e9cb25997bbdc2fd6c81427 /dix/devices.c | |
parent | a8a61bbe22361b12d4a2dd511894987a338e3eef (diff) |
Bugzilla #2800 <https://bugs.freedesktop.org/show_bug.cgi?id=2800> XevieXORG-6_8_99_8
extension crash with signal 11 on keyboard Bugzilla #1205
<https://bugs.freedesktop.org/show_bug.cgi?id=1205> Xevie client
receives two KeyPress events on consumed keys when XKB is enabled
Patch #2223 <https://bugs.freedesktop.org/attachment.cgi?id=2223> Fixes for
both of these and some other Xevie bugs (Derek Wang - Sun Microsystems)
Diffstat (limited to 'dix/devices.c')
-rw-r--r-- | dix/devices.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/dix/devices.c b/dix/devices.c index 3bc098158..d99fcdd36 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -48,6 +48,7 @@ SOFTWARE. /* $Xorg: devices.c,v 1.4 2001/02/09 02:04:39 xorgcvs Exp $ */ +/* $XdotOrg: $ */ #include <X11/X.h> #include "misc.h" @@ -120,6 +121,8 @@ _AddInputDevice(DeviceProc deviceProc, Bool autoStart) #ifdef XKB dev->xkb_interest= NULL; #endif + dev->nPrivates = 0; + dev->devPrivates = dev->unwrapProc = NULL; inputInfo.off_devices = dev; return dev; } @@ -352,13 +355,10 @@ _RegisterPointerDevice(DeviceIntPtr device) { inputInfo.pointer = device; #ifdef XKB - if (noXkbExtension) { - device->public.processInputProc = CoreProcessPointerEvent; - device->public.realInputProc = CoreProcessPointerEvent; - } else { - device->public.processInputProc = ProcessPointerEvent; - device->public.realInputProc = ProcessPointerEvent; - } + device->public.processInputProc = CoreProcessPointerEvent; + device->public.realInputProc = CoreProcessPointerEvent; + if (!noXkbExtension) + XkbSetExtension(device,ProcessPointerEvent); #else device->public.processInputProc = ProcessPointerEvent; device->public.realInputProc = ProcessPointerEvent; @@ -378,13 +378,10 @@ _RegisterKeyboardDevice(DeviceIntPtr device) { inputInfo.keyboard = device; #ifdef XKB - if (noXkbExtension) { - device->public.processInputProc = CoreProcessKeyboardEvent; - device->public.realInputProc = CoreProcessKeyboardEvent; - } else { - device->public.processInputProc = ProcessKeyboardEvent; - device->public.realInputProc = ProcessKeyboardEvent; - } + device->public.processInputProc = CoreProcessKeyboardEvent; + device->public.realInputProc = CoreProcessKeyboardEvent; + if (!noXkbExtension) + XkbSetExtension(device,ProcessKeyboardEvent); #else device->public.processInputProc = ProcessKeyboardEvent; device->public.realInputProc = ProcessKeyboardEvent; |