Update device barriers for new master devices (#1384432)

This commit is contained in:
Peter Hutterer 2016-11-15 12:00:46 +10:00
parent 7084842c1c
commit fb49b2964a
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,43 @@
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

View File

@ -45,7 +45,7 @@
Summary: X.Org X11 X server Summary: X.Org X11 X server
Name: xorg-x11-server Name: xorg-x11-server
Version: 1.19.0 Version: 1.19.0
Release: 0.7.rc2%{?gitdate:.%{gitdate}}%{dist} Release: 0.8.rc2%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org URL: http://www.x.org
License: MIT License: MIT
Group: User Interface/X Group: User Interface/X
@ -95,6 +95,9 @@ Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch
# Submitted upstream, pending # Submitted upstream, pending
Patch7027: xserver-autobind-hotplug.patch Patch7027: xserver-autobind-hotplug.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1384432
Patch7028: 0001-Xi-when-creating-a-new-master-device-update-barries-.patch
# because the display-managers are not ready yet, do not upstream # because the display-managers are not ready yet, do not upstream
Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch
@ -592,6 +595,9 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
%changelog %changelog
* Tue Nov 15 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.19.0-0.8.rc2
- Update device barriers for new master devices (#1384432)
* Thu Nov 3 2016 Hans de Goede <hdegoede@redhat.com> - 1.19.0-0.7.rc2 * Thu Nov 3 2016 Hans de Goede <hdegoede@redhat.com> - 1.19.0-0.7.rc2
- Update to 1.19.0-rc2 - Update to 1.19.0-rc2
- Fix (hopefully) various crashes in FlushAllOutput() (rhbz#1382444) - Fix (hopefully) various crashes in FlushAllOutput() (rhbz#1382444)