diff options
-rw-r--r-- | Xi/stubs.c | 2 | ||||
-rw-r--r-- | config/config.c | 2 | ||||
-rw-r--r-- | config/dbus.c | 2 | ||||
-rw-r--r-- | dix/devices.c | 2 | ||||
-rw-r--r-- | hw/dmx/dmxinput.c | 2 | ||||
-rw-r--r-- | hw/kdrive/linux/evdev.c | 4 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Module.h | 2 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Xinput.c | 8 | ||||
-rw-r--r-- | hw/xquartz/darwinXinput.c | 2 | ||||
-rw-r--r-- | include/input.h | 6 |
10 files changed, 18 insertions, 14 deletions
diff --git a/Xi/stubs.c b/Xi/stubs.c index 04ba9769e..8285549cf 100644 --- a/Xi/stubs.c +++ b/Xi/stubs.c @@ -241,6 +241,6 @@ NewInputDeviceRequest(InputOption *options, InputAttributes *attrs, * */ void -DeleteInputDeviceRequest(DeviceIntPtr dev) +DeleteInputDeviceRequest(DeviceIntPtr dev, int flags) { } diff --git a/config/config.c b/config/config.c index 65ef67987..f49420d0e 100644 --- a/config/config.c +++ b/config/config.c @@ -81,7 +81,7 @@ remove_device(const char *backend, DeviceIntPtr dev) * already been removed. */ OsBlockSignals(); ProcessInputEvents(); - DeleteInputDeviceRequest(dev); + DeleteInputDeviceRequest(dev, 0); OsReleaseSignals(); } diff --git a/config/dbus.c b/config/dbus.c index 72a0a05dd..511908ac1 100644 --- a/config/dbus.c +++ b/config/dbus.c @@ -226,7 +226,7 @@ remove_device(DBusMessage *message, DBusMessage *reply, DBusError *error) * already been removed. */ OsBlockSignals(); ProcessInputEvents(); - DeleteInputDeviceRequest(dev); + DeleteInputDeviceRequest(dev, 0); OsReleaseSignals(); ret = Success; diff --git a/dix/devices.c b/dix/devices.c index cf23bc6d0..27840240d 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -891,7 +891,7 @@ CloseDeviceList(DeviceIntPtr *listHead) while (dev != NULL) { freedIds[dev->id] = TRUE; - DeleteInputDeviceRequest(dev); + DeleteInputDeviceRequest(dev, DEVICE_REMOVE_ALL); dev = *listHead; while (dev != NULL && freedIds[dev->id]) diff --git a/hw/dmx/dmxinput.c b/hw/dmx/dmxinput.c index 568bb882b..eceb25163 100644 --- a/hw/dmx/dmxinput.c +++ b/hw/dmx/dmxinput.c @@ -114,6 +114,6 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs, } void -DeleteInputDeviceRequest(DeviceIntPtr pDev) +DeleteInputDeviceRequest(DeviceIntPtr pDev, int flags) { } diff --git a/hw/kdrive/linux/evdev.c b/hw/kdrive/linux/evdev.c index 3797f0926..cb16176c7 100644 --- a/hw/kdrive/linux/evdev.c +++ b/hw/kdrive/linux/evdev.c @@ -165,7 +165,7 @@ EvdevPtrRead (int evdevPort, void *closure) n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); if (n <= 0) { if (errno == ENODEV) - DeleteInputDeviceRequest(pi->dixdev); + DeleteInputDeviceRequest(pi->dixdev, 0); return; } @@ -375,7 +375,7 @@ EvdevKbdRead (int evdevPort, void *closure) n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); if (n <= 0) { if (errno == ENODEV) - DeleteInputDeviceRequest(ki->dixdev); + DeleteInputDeviceRequest(ki->dixdev, 0); return; } diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h index d61758f78..51b9b16a3 100644 --- a/hw/xfree86/common/xf86Module.h +++ b/hw/xfree86/common/xf86Module.h @@ -83,7 +83,7 @@ typedef enum { */ #define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4) #define ABI_VIDEODRV_VERSION SET_ABI_VERSION(8, 0) -#define ABI_XINPUT_VERSION SET_ABI_VERSION(10, 0) +#define ABI_XINPUT_VERSION SET_ABI_VERSION(11, 0) #define ABI_EXTENSION_VERSION SET_ABI_VERSION(4, 0) #define ABI_FONT_VERSION SET_ABI_VERSION(0, 6) diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 356ddab4c..b30ebbb1c 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -854,7 +854,7 @@ unwind: } void -DeleteInputDeviceRequest(DeviceIntPtr pDev) +DeleteInputDeviceRequest(DeviceIntPtr pDev, int flags) { LocalDevicePtr pInfo = (LocalDevicePtr) pDev->public.devicePrivate; InputDriverPtr drv = NULL; @@ -874,9 +874,9 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev) if (!isMaster && pInfo != NULL) { if(drv->UnInit) - drv->UnInit(drv, pInfo, 0); + drv->UnInit(drv, pInfo, flags); else - xf86DeleteInput(pInfo, 0); + xf86DeleteInput(pInfo, flags); /* devices added through HAL aren't in the config layout */ it = xf86ConfigLayout.inputs; @@ -1267,7 +1267,7 @@ xf86DisableDevice(DeviceIntPtr dev, Bool panic) } else { SendDevicePresenceEvent(dev->id, DeviceUnrecoverable); - DeleteInputDeviceRequest(dev); + DeleteInputDeviceRequest(dev, 0); } } diff --git a/hw/xquartz/darwinXinput.c b/hw/xquartz/darwinXinput.c index 90e440e54..59ca6273d 100644 --- a/hw/xquartz/darwinXinput.c +++ b/hw/xquartz/darwinXinput.c @@ -245,7 +245,7 @@ NewInputDeviceRequest(InputOption *options, InputAttributes *attrs, * */ void -DeleteInputDeviceRequest(DeviceIntPtr dev) +DeleteInputDeviceRequest(DeviceIntPtr dev, int flags) { DEBUG_LOG("DeleteInputDeviceRequest(%p)\n", dev); } diff --git a/include/input.h b/include/input.h index c68a28441..5426c44a0 100644 --- a/include/input.h +++ b/include/input.h @@ -62,6 +62,9 @@ SOFTWARE. #define DEVICE_OFF 2 #define DEVICE_CLOSE 3 +/* DeleteInputDeviceRequest flags */ +#define DEVICE_REMOVE_ALL (1 << 0) /* all devices will be removed */ + #define POINTER_RELATIVE (1 << 1) #define POINTER_ABSOLUTE (1 << 2) #define POINTER_ACCELERATE (1 << 3) @@ -536,7 +539,8 @@ extern _X_EXPORT int NewInputDeviceRequest( InputAttributes *attrs, DeviceIntPtr *dev); extern _X_EXPORT void DeleteInputDeviceRequest( - DeviceIntPtr dev); + DeviceIntPtr dev, + int flags); extern _X_EXPORT void DDXRingBell( int volume, |