From fb49b2964a4aa0bac4878ac7795f15feec90174f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Nov 15 2016 02:00:46 +0000 Subject: Update device barriers for new master devices (#1384432) --- diff --git a/0001-Xi-when-creating-a-new-master-device-update-barries-.patch b/0001-Xi-when-creating-a-new-master-device-update-barries-.patch new file mode 100644 index 0000000..cd934c9 --- /dev/null +++ b/0001-Xi-when-creating-a-new-master-device-update-barries-.patch @@ -0,0 +1,43 @@ +From 578d032c3646f2c3ee4be8b8ebdfe89418ef71ce Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +--- + 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 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 4476427..392a17e 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -45,7 +45,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.19.0 -Release: 0.7.rc2%{?gitdate:.%{gitdate}}%{dist} +Release: 0.8.rc2%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -95,6 +95,9 @@ Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch # Submitted upstream, pending 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 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 +* Tue Nov 15 2016 Peter Hutterer 1.19.0-0.8.rc2 +- Update device barriers for new master devices (#1384432) + * Thu Nov 3 2016 Hans de Goede - 1.19.0-0.7.rc2 - Update to 1.19.0-rc2 - Fix (hopefully) various crashes in FlushAllOutput() (rhbz#1382444)