summaryrefslogtreecommitdiff
path: root/xserver/dix/devices.c
diff options
context:
space:
mode:
Diffstat (limited to 'xserver/dix/devices.c')
-rw-r--r--xserver/dix/devices.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xserver/dix/devices.c b/xserver/dix/devices.c
index fd4916a3a..7d7888ea1 100644
--- a/xserver/dix/devices.c
+++ b/xserver/dix/devices.c
@@ -514,6 +514,12 @@ DisableAllDevices(void)
{
DeviceIntPtr dev, tmp;
+ /* Disable slave devices first, excluding XTest devices */
+ nt_list_for_each_entry_safe(dev, tmp, inputInfo.devices, next) {
+ if (!IsXTestDevice(dev, NULL) && !IsMaster(dev))
+ DisableDevice(dev, FALSE);
+ }
+ /* Disable XTest devices */
nt_list_for_each_entry_safe(dev, tmp, inputInfo.devices, next) {
if (!IsMaster(dev))
DisableDevice(dev, FALSE);