mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
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> Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user