From 0565f4ed4519962bed40a0bbcf0b409471f4de40 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 29 Jul 2009 16:46:45 +1000 Subject: [PATCH] Xi: set the sourceid for focus devices to the device id. Unlike Enter/Leave events generated by a device pushing the pointer around, a device doesn't change focus all by itself. It's a result of a SetInputFocus call, a window becoming unviewable or a grab activating. As such, the sourceid for focus events is always the deviceid itself. Signed-off-by: Peter Hutterer --- Xi/exevents.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index 4773c4959..85d14b09b 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1273,7 +1273,7 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, xi2event->detail = detail; xi2event->time = currentTime.milliseconds; xi2event->deviceid = dev->id; - xi2event->sourceid = 0; /*XXX */ + xi2event->sourceid = dev->id; /* a device doesn't change focus by itself */ xi2event->mode = mode; xi2event->root_x = FP1616(mouse->spriteInfo->sprite->hot.x, 0); xi2event->root_y = FP1616(mouse->spriteInfo->sprite->hot.y, 0);