44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 578d032c3646f2c3ee4be8b8ebdfe89418ef71ce Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Fri, 11 Nov 2016 15:28:50 +1000
|
|
Subject: [PATCH xserver] Xi: when creating a new master device, update barries
|
|
for all clients
|
|
|
|
The previous code only worked when the barrier was created by the same client
|
|
as the one calling XIChangeDeviceHierarchy.
|
|
|
|
http://bugzilla.redhat.com/show_bug.cgi?id=1384432
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
---
|
|
Xi/xichangehierarchy.c | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
|
|
index 8d5b577..f2b7785 100644
|
|
--- a/Xi/xichangehierarchy.c
|
|
+++ b/Xi/xichangehierarchy.c
|
|
@@ -194,7 +194,8 @@ add_master(ClientPtr client, xXIAddMasterInfo * c, int flags[MAXDEVICES])
|
|
flags[XTestptr->id] |= XISlaveAttached;
|
|
flags[XTestkeybd->id] |= XISlaveAttached;
|
|
|
|
- XIBarrierNewMasterDevice(client, ptr->id);
|
|
+ for (int i = 0; i < currentMaxClients; i++)
|
|
+ XIBarrierNewMasterDevice(clients[i], ptr->id);
|
|
|
|
unwind:
|
|
free(name);
|
|
@@ -300,7 +301,8 @@ remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
|
|
}
|
|
}
|
|
|
|
- XIBarrierRemoveMasterDevice(client, ptr->id);
|
|
+ for (int i = 0; i < currentMaxClients; i++)
|
|
+ XIBarrierRemoveMasterDevice(clients[i], ptr->id);
|
|
|
|
/* disable the remove the devices, XTest devices must be done first
|
|
else the sprites they rely on will be destroyed */
|
|
--
|
|
2.9.3
|
|
|