vfb: add a name and type to the pointer and keyboard
Fixes a crash in XIQueryDevice which calls strlen on a NULL pointer. #0 strlen () at ../sysdeps/x86_64/strlen.S:31 #1 0x00000000004c16ed in SizeDeviceInfo (dev=0x969bd0) at ../../Xi/xiquerydevice.c:204 #2 0x00000000004c1a01 in ProcXIQueryDevice (client=0xa57510) at ../../Xi/xiquerydevice.c:98 Debian bug#575905 <http://bugs.debian.org/575905> Reported-by: "Bernhard R. Link" <brlink@debian.org> Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
2f29b163bb
commit
0e7703f9b1
|
@ -43,6 +43,7 @@ from The Open Group.
|
|||
#include <X11/keysym.h>
|
||||
#include "xserver-properties.h"
|
||||
#include "exevents.h"
|
||||
#include "extinit.h"
|
||||
|
||||
Bool
|
||||
LegalModifier(unsigned int key, DeviceIntPtr pDev)
|
||||
|
@ -136,10 +137,15 @@ void
|
|||
InitInput(int argc, char *argv[])
|
||||
{
|
||||
DeviceIntPtr p, k;
|
||||
Atom xiclass;
|
||||
p = AddInputDevice(serverClient, vfbMouseProc, TRUE);
|
||||
k = AddInputDevice(serverClient, vfbKeybdProc, TRUE);
|
||||
RegisterPointerDevice(p);
|
||||
xiclass = MakeAtom(XI_MOUSE, sizeof(XI_MOUSE) - 1, TRUE);
|
||||
AssignTypeAndName(p, xiclass, "Xvfb mouse");
|
||||
RegisterKeyboardDevice(k);
|
||||
xiclass = MakeAtom(XI_KEYBOARD, sizeof(XI_KEYBOARD) - 1, TRUE);
|
||||
AssignTypeAndName(k, xiclass, "Xvfb keyboard");
|
||||
(void)mieqInit();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue