From ec0ad408ef8d5a2cf7a2bd65d13de3ef3147308c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 17 Sep 2009 16:01:29 +1000 Subject: [PATCH] xfree86: use SendDevicePresenceEvents instead of manual event handling. Signed-off-by: Peter Hutterer --- dix/devices.c | 2 +- hw/xfree86/common/xf86Xinput.c | 9 +-------- include/input.h | 1 + 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/dix/devices.c b/dix/devices.c index 76e962e4e..62574f2cd 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -246,7 +246,7 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart) return dev; } -static void +void SendDevicePresenceEvent(int deviceid, int type) { DeviceIntRec dummyDev; diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 3543811db..df5140043 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -1082,14 +1082,7 @@ xf86DisableDevice(DeviceIntPtr dev, Bool panic) DisableDevice(dev, TRUE); } else { - ev.type = DevicePresenceNotify; - ev.time = currentTime.milliseconds; - ev.devchange = DeviceUnrecoverable; - ev.deviceid = dev->id; - dummyDev.id = 0; - SendEventToAllWindows(&dummyDev, DevicePresenceNotifyMask, - (xEvent *) &ev, 1); - + SendDevicePresenceEvent(dev->id, DeviceUnrecoverable); DeleteInputDeviceRequest(dev); } } diff --git a/include/input.h b/include/input.h index 7ab5e9d65..0e5b0bf00 100644 --- a/include/input.h +++ b/include/input.h @@ -503,6 +503,7 @@ extern int AllocXTestDevice(ClientPtr client, DeviceIntPtr master_keybd); extern BOOL IsXTestDevice(DeviceIntPtr dev, DeviceIntPtr master); extern DeviceIntPtr GetXTestDevice(DeviceIntPtr master); +extern void SendDevicePresenceEvent(int deviceid, int type); /* misc event helpers */ extern Mask GetEventFilter(DeviceIntPtr dev, xEvent *event);