* update xorg-server to 21.1.8-2

This commit is contained in:
Alexander Baldeck 2023-08-01 12:20:36 +02:00
parent ebdba2275b
commit 4f745458d7
7 changed files with 219 additions and 6 deletions

View File

@ -0,0 +1,106 @@
From b98fc07d3442a289c6bef82df50dd0a2d01de71a Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 2 Feb 2023 12:26:27 -0500
Subject: [PATCH] present: Send a PresentConfigureNotify event for destroyed
windows
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This enables fixing a deadlock case on the client side, where the client
ends up blocked waiting for a Present event that will never come because
the window was destroyed. The new PresentWindowDestroyed flag allows the
client to avoid blocking indefinitely.
Signed-off-by: Adam Jackson <ajax@redhat.com>
See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 462b06033e66a32308d940eb5fc47f5e4c914dc0)
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
present/present_event.c | 5 +++--
present/present_priv.h | 7 ++++++-
present/present_screen.c | 11 ++++++++++-
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/present/present_event.c b/present/present_event.c
index 435b26b70..849732dc8 100644
--- a/present/present_event.c
+++ b/present/present_event.c
@@ -102,7 +102,8 @@ present_event_swap(xGenericEvent *from, xGenericEvent *to)
}
void
-present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling)
+present_send_config_notify(WindowPtr window, int x, int y, int w, int h,
+ int bw, WindowPtr sibling, CARD32 flags)
{
present_window_priv_ptr window_priv = present_window_priv(window);
@@ -122,7 +123,7 @@ present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw,
.off_y = 0,
.pixmap_width = w,
.pixmap_height = h,
- .pixmap_flags = 0
+ .pixmap_flags = flags
};
present_event_ptr event;
diff --git a/present/present_priv.h b/present/present_priv.h
index 6ebd009a2..4ad729864 100644
--- a/present/present_priv.h
+++ b/present/present_priv.h
@@ -43,6 +43,11 @@
#define DebugPresent(x)
#endif
+/* XXX this belongs in presentproto */
+#ifndef PresentWindowDestroyed
+#define PresentWindowDestroyed (1 << 0)
+#endif
+
extern int present_request;
extern DevPrivateKeyRec present_screen_private_key;
@@ -307,7 +312,7 @@ void
present_free_events(WindowPtr window);
void
-present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling);
+present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling, CARD32 flags);
void
present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 serial, uint64_t ust, uint64_t msc);
diff --git a/present/present_screen.c b/present/present_screen.c
index 15684eda4..2c29aafd2 100644
--- a/present/present_screen.c
+++ b/present/present_screen.c
@@ -93,6 +93,15 @@ present_destroy_window(WindowPtr window)
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
present_window_priv_ptr window_priv = present_window_priv(window);
+ present_send_config_notify(window,
+ window->drawable.x,
+ window->drawable.y,
+ window->drawable.width,
+ window->drawable.height,
+ window->borderWidth,
+ window->nextSib,
+ PresentWindowDestroyed);
+
if (window_priv) {
present_clear_window_notifies(window);
present_free_events(window);
@@ -123,7 +132,7 @@ present_config_notify(WindowPtr window,
ScreenPtr screen = window->drawable.pScreen;
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
- present_send_config_notify(window, x, y, w, h, bw, sibling);
+ present_send_config_notify(window, x, y, w, h, bw, sibling, 0);
unwrap(screen_priv, screen, ConfigNotify);
if (screen->ConfigNotify)
--
2.41.0

View File

@ -6,7 +6,7 @@ pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xvfb' 'xorg-server-xnest'
'xorg-server-common' 'xorg-server-devel')
pkgver=21.1.8
pkgrel=1
pkgrel=2
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
license=('custom')
groups=('xorg')
@ -21,22 +21,26 @@ makedepends=('xorgproto' 'pixman' 'libx11' 'mesa' 'mesa-libgl' 'xtrans'
source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.xz{,.sig}
xvfb-run # with updates from FC master
xvfb-run.1
0002-xephyr_Dont_check_for_SeatId_anymore.patch
xephyr_Dont_check_for_SeatId_anymore.patch
0001-present-Send-a-PresentConfigureNotify-event-for-dest.patch
)
validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF' # Peter Hutterer (Who-T) <office@who-t.net>
'67DC86F2623FC5FD4BB5225D14706DBE1E4B4540' # Olivier Fourdan <fourdan@xfce.org>
'FD0004A26EADFE43A4C3F249C6F7AE200374452D') # Povilas Kanapickas <povilas@radix.lt>
sha512sums=('6104b3620ed2e1e27d9a8e963388bbe8785a764585b1bc03dbf5d719a92894773dda580d377ca18ceeab353e65a5d23cc947bab84a4012f9dd1eca31cac36937'
'SKIP'
'87c79b4a928e74463f96f58d277558783eac9b8ea6ba00d6bbbb67ad84c4d65b3792d960ea2a70089ae18162e82ae572a49ad36df169c974cc99dbaa51f63eb2'
'672375cb5028ba9cda286e317d17bd8c9a9039483e7f79c21f223fd08ba07655729e9f59a082f4b8f5d8de45a77a9e9affce1002fb8c6657e26ef1a490654e49'
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22'
'34de52147054535256f35143d321e4d5e189baae502afca2bd3291094946dbead0829b1f196ae2a4d23bd6d0e1e04b65a387dee43f12dee55d247e37aec419d7')
'34de52147054535256f35143d321e4d5e189baae502afca2bd3291094946dbead0829b1f196ae2a4d23bd6d0e1e04b65a387dee43f12dee55d247e37aec419d7'
'bc7d054bef2b4550d067b3abb14eb7c534e5022ba0b0e59e14687886fe204914757b014c31150bce705baed5d8cb1be87e8624da43cb1fe874b138ced00ee18b')
prepare() {
cd ${pkgbase}-$pkgver
# FS#73274
patch -Np1 -i ../0002-xephyr_Dont_check_for_SeatId_anymore.patch
patch -Np1 -i ../xephyr_Dont_check_for_SeatId_anymore.patch
# upstream fix (merged)
patch -Np1 -i ../0001-present-Send-a-PresentConfigureNotify-event-for-dest.patch
}
build() {

View File

@ -0,0 +1,23 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGiBD8b0wYRBACph9kRJmP+4+JGsCgFlFoy4vFO0DCG+jmkQN0n1wdInt/N/UtA
sZToO72AUmfmYizA+IEbzBrx0UnUo3w3BDmHxUWf/akZiPUz9AA/YFY4xC3MY2OK
VN2Jz6YSce4zJ5jd2ZRobHm4HuIf/8yqSCcsv7FNfrLaTNIFRs5gYYsqZwCgwmkp
RSLRc8WAnHrTWNQDaEFM2rUEAKTjrTjMN8+KGd0BxNX7HiTSqQP++nXNwAYs1oWB
Yt82YHj9SvRCqCzD1pzJQivYnlNoWDza1VeMnfdAvkdia8z4lYbO/RunXZJvra3Z
VDm+izq+uwUAyvFuEYnNz09VSqwXKT6+XW0Xtz2vHq52r6DS6mK8cGJHZ5OhrRjq
UEYxA/9STh+QfA98xtNoRcf52E/46r7IpCj440oRVc9lMfxQZrLGQNqp7sPdIhGQ
CCo2NUII5hkhdAG71kpbfSXU4Sh32p1cU1KYCAkDFfb49bKuAs+Pff8v6FGZxTdd
AinPZr4BbsYJatk818aTCnu0+s7L8jL5GPfeyuyEMKwzVBx2mLQpUGV0ZXIgSHV0
dGVyZXIgKFdoby1UKSA8b2ZmaWNlQHdoby10Lm5ldD6IWQQTEQIAGQUCPxvTBgQL
BwMCAxUCAwMWAgECHgECF4AACgkQ4jt+cLRn8L/0RACfWo3KTMUg+uPRqA6RXxk0
4CWjXaMAoJeIxOpZLB3RBltPnSi7PyVQIkHFuQENBD8b0wgQBACTnqOYOWYVR8O1
D73J6nbdAeZCbXrUkyXIuyqBOdKmX/0QJmSs7Wfsa+hPfDhj6ai0Gs2C8Qg/0Pzk
86b4p9DLkf0M6RaYjUtCJBpS59xrsV6nz6xZzQa4RRdf1YJmw2tia1MMXzxbwQU2
bKpYEm8NsGaBURMGd02EvsMN2wI2uwADBQP/e9MjVr/85XDzAlUBN8HwYW5szTyP
8ZVcQOqOmNebkTWGLvkPrBdXmxpzrWjxPolO1WcWQjUL0bN/rbdqefT65iVHJHJZ
/cpTtgGlCPhL5JTA50ltd0I13CABYWLFmswonXES/6tcglf4rr3Nri2sOrY5HggP
ipEzOo5vdKOow/qIRgQYEQIABgUCPxvTCAAKCRDiO35wtGfwv68jAKCDvL2gkrg1
4NfV7rNc057K1nL2GgCeKApWRgGVzaOkAp0P5tQulaDD6zM=
=7uBX
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,22 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGiBERd0h4RBACflXMwRMuZ/gICB7oM/SwnYMoDeRVaZHYT2RtI6iaNQpovoMas
fbLX31icweQm9sMLQJR/bNABpp28Fs1S4yNt9SwAProigexyWl3fFE3uqoVRmglZ
uQdyXl7nnPC7A3hxHPX88tsZS4UlLFRssTjNnrzzhSR3xyyIlOJnmG5pJwCg/yaH
DECRtdWm9gIJZwfM6S+ANYUD/0s6FPCIdbDqCzNcMH7YZID+JjBOU3VlRdXfzGmx
Iy2aPBpC9pkb0EUEL94QZ5Ysa1EGNnNUPq8dQWOr/NllCt2/l0HDLGoziBCpBTvG
ZNnFaJoErG0kmCH2u0w9VmKKSBq6C0sI8rFW1JthKc/bu6ucBKKbpi4sFYAMyZHn
sNbzA/9VYevyns5TmZeR7t+x8YRj6xZxWVNGm20gnBBhHVnq/EGIn4a/YN1NLFNc
4EuarFnzl0w6L1IQHanM+ajBJgzL4oSYCufhTSXgA2utrpIRtKkRW9JH6zt3J5hk
W8oIcEsY3YRKQ3iVKS3Kz8PgSwezNewFT6o3Juu//95O5qSm8rQiT2xpdmllciBG
b3VyZGFuIDxmb3VyZGFuQHhmY2Uub3JnPohpBBMRAgApAhsjBgsJCAcDAgQVAggD
BBYCAwECHgECF4AFCRpUHdIFAkajy3QCGQEACgkQFHBtvh5LRUA0hwCff1hwCeEu
cHWkhFAO4EiIiGEUxJwAoNlgcwHVYhqSesplI6ePAoEfDac5tCNPbGl2aWVyIEZv
dXJkYW4gPGZvdXJkYW5AZ21haWwuY29tPohmBBMRAgAmAhsjBgsJCAcDAgQVAggD
BBYCAwECHgECF4AFAkajy1gFCRpUHdIACgkQFHBtvh5LRUCEqACfcmzhRUwchMrd
uClwQJXrF+6gSJQAoJlrYElt2c6BsCVxtJJxEakjwww8tCVPbGl2aWVyIEZvdXJk
YW4gPG9mb3VyZGFuQHJlZGhhdC5jb20+iGYEExECACYCGyMGCwkIBwMCBBUCCAME
FgIDAQIeAQIXgAUCRqPLWAUJGlQd0gAKCRAUcG2+HktFQKczAKDeq33Q9kYEKPAL
5FdFAfX5HOdbMQCgrJ1XMhV5ELa+QYhFTH6TmNfffeg=
=gHbK
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,59 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBE53SRgBCADJBhoKw9dmUYjNm9njQpq0uEDXQb/yBJQ/dJiNbEke8rKF0+eN
XU1bbZzIx6mjywNWsVFiFQV+ty43pO2FoKctD6gPyHYdPM1ZrS6ZlaKv6wXU9HHt
5Wz8znnP5bifwUh+sjkgQ0OETTcv82xmslblFNZWm14EuqKmMbl5jmqAJVpmnX5o
UeWzRG+/eSmg4gV6MQFdNzBX6SaEPShcm4U/qQ+vmxsJtjwjnINHE3UB0nPEQHju
BQAE2FaztYMkm9i3FpVYRfwdz31PGacJxqaTKNPSBUKfHv00dE5nEa9CrJsZpmRa
BRK402zYunFVCI9Sjvijl99P4gfgRClot3WzABEBAAG0JVBvdmlsYXMgS2FuYXBp
Y2thcyA8cG92aWxhc0ByYWRpeC5sdD6JATsEEwECACUCGwMGCwkIBwMCBhUIAgkK
CwQWAgMBAh4BAheABQJSkk6WAhkBAAoJEMb3riADdEUtQT4H/1AFIMJMx8n1+Aco
Zq+xn09nDFmThhmRuu+fiASVNEmiBUcM81DR2UajoYm+FA1W1hP3kAiCLKigO9Xo
bkZ0BCPxzH5n6fnUCNa1Rtnz5u+a4izxvOkgev1XnGPOIKw8oSSGtl4Wclsfihvs
pSDNT9kSBv4+PJp6eIBTsaf5KZb20lj/jp9eiRF5jC5DKbj/7PsERa8E6AvWBMNI
43qIxsDckW7iBLomTzO/nSw/eAxaNwszIJ831bAM3tabA29XmTsVYXyFGWo/WEFY
zqos/7zy2+qWhOw0qI7RJnDG2Tyd0gZzas9F7d1g2bONM75f0CHBrqkud9OweBYQ
Z4uTbsC0MVBvdmlsYXMgS2FuYXBpY2thcyA8cG92aWxhcy5rYW5hcGlja2FzQGdt
YWlsLmNvbT6JATgEEwECACIFAlKPs9YCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
AheAAAoJEMb3riADdEUtmNEIALt73RvLxEzSBjEjQ5Ir0imUhLMGWP3jk2A8/4z3
smfjcGOLatLvOLVZOpHwFa0F4+hS5G1UOv6w0nkhFqw6EZdVheETNJCO/z3L4UxB
lbYS9c/jBxBgiE5Z/800gndV1bOpqQJs6YRFbHF+T8X7KC0mRU4kjx9mMtBj7/uP
bX4wtwsMCxvhjxBhiZAridO9g3DfSYTfj/Ze4Q4ijfey1vvGkhPpzT/8TJf4MrT6
UfvUq8YWLAldk9b4lldwpQAwAHNr5iudz7/Vy9yBrp2AcIgqidVF1FKShxxW4BqD
j8kF2nMenBQ1l0P0tPtRGOkrja6uYXd1AZvQKM2g91bsZtm0KVBvdmlsYXMgS2Fu
YXBpY2thcyA8cG92aWxhc2thbkBnbWFpbC5jb20+iQE4BBMBAgAiBQJSj7PDAhsD
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDG964gA3RFLeSdCACXbnk61ttG
l5E1EZWs+Bn0SU1yShsz8WDoXdqMFir2Qnzxd77AcSpYmJzLkxVzMo4fczXyDE7B
5H7F77kABxMHg6mFPdy3aWyML+xK/EbWl6KLh0CDLeyFbTGZxqvzzJyRpBfTG77u
5LjKaWdLLOHZ3xqSEyEq8noQke+0KmA3/DCIPyUB9heZuZ9sQfn/hOMipWf+X1LU
15OKzvcf0Va5CljsNFZW4Cvt8jjIplvL3zwHwaBO+NV0UvfmYQ5+mwokDK7S3o4s
48HTiwKPt5EJtSkC1okNNwKICmeAZvaMF+9Tro8ODoF6nQCqCwpgyqlwe5bEWXFc
sdntPy3jY3UGtCdQb3ZpbGFzIEthbmFwaWNrYXMgPHRpcjVjM0B5YWhvby5jby51
az6JATgEEwECACIFAlHu/3ACGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
EMb3riADdEUt9psIAJjJp4EQpuXxNZQgvEsE0elSzN3//d2CY9B49S/QbZ0MciwP
gla2fPBAqTJYvKOQ0yT2bm2Nj7V8bVylKWiqpIMWoQ3pc621n9ZidTWu9wXd+j6e
cHkRMCEtIMrb+Fc4BZkqkFCXZ38RmYcVWOkuTlMoa9OdI6NJu9tDtCR2nbqXi49z
P6sECgSMjbKaw6qM17j2rvWP1+EfqjXEvd6FgdYX2UZ3CdiIrocWVxDhhxcX77ia
fqWur8I06CqB6NNEV+b2+3N04q5wW+6ZNrHgklgmwoQESIj9NBATxllGwBfz2gkt
RWULOm7lqMLOz8170Vwa4oVbkWWNbetUVo9wnQm0HHAxMiBwMTIgPHRpcjVjM0B5
YWhvby5jby51az6JATgEEwECACIFAk53SRgCGwMGCwkIBwMCBhUIAgkKCwQWAgMB
Ah4BAheAAAoJEMb3riADdEUtntEH/3Xhdq34gYM9+2dy7vB6N/Otmssz0Z3/DTC9
yz1fmfXZF1Ami53LXntgxC/xcSWp4bZVwCxBxlm8JyvM688jwGaQtZRUmkXZcIee
oXX4mkVXwlK1eIuxarfR1zuv+tTY8kRSzCAKULIHj7qq+cP7Kv6epBbpQtB0CevM
MqnPytylYFqoiiFr4qfD16Wx8gnSSF/IktlzWrSDNmuhq89mrUKLM9GXeWggshxl
eAKXHHvekLXQfJtjKF0QXl5hGtmux9Oz063nwsYhFLy2gvLnxCiwUmAQd8DKQA/6
vfF4ZiyUC0e9fu0NL4J4BouGVaRtU79v/imAyuGlIO4b/aMQEoe5AQ0ETndJGAEI
AJQxvyDbsQQJg3TKH4QqwFWQCMC30aNWotb5kUmOfFXOalsPxQbQ3OC8RocIb5LT
PhRCvnyyuG7waPk4EMjxKPawkig/YzV6TOY5lQmOIWG/S7T/Lbl47arpPgCR/jWn
pp6VpUwnV+nC8PzThwgaHd9LtEPNn0AhRX/tUDw5PE640066XOaYclshjVF4pEb4
/v5Zbn1cWaMJ6AsZ84DfNywj5UaTszmRi33mXDL5hv7qW4UhykSIl5QdGB6ripue
TH8X9IVrJA2TJ4pBSrxBoXEcFK5TPC7fwvKv3H6LXM3n2rQcw+JRzQSxsGVoUsns
gWB7TSaVpAGmay3L9tYgXqkAEQEAAYkBHwQYAQIACQUCTndJGAIbDAAKCRDG964g
A3RFLVWOB/9gdb6I1pcoVtegYPiGmokwWkA5MNgFMY37k71gVARu4kTcJ8w5tyaN
TCP2khEyTDUlj2pY5VFsWpsXNVPf0NmAkXQV/j9qta9uTlt4f88x9yvITc5pMnF9
8cUDY09QJPeeV2B5cF3E5JBPfs4bmtsVBwJi/6isvHd96/vkc8HGlpWJfZJic+K9
SNo6jxWy0MiCGcEAqs0WXrGdLY7Lvaf8TI/GBuWIbFkfU/c6Oz90A8HFOMXMG2ff
DmtD7hQZIrVCLdhg7hXaq7eXl4MlZGjgKOOZHLTpOrHRbBqT9FJdOjVocUZKA7KD
1+5AQvEh5elDZGKIcyWtgIoiUd1SjKXR
=zdHF
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -14,7 +14,6 @@
# GNU General Public License can be found in the file COPYING.
# --- T2-COPYRIGHT-NOTE-END ---
# $Id$
# from: http://necrotic.deadbeast.net/xsf/XFree86/trunk/debian/local/xvfb-run
# This script starts an instance of Xvfb, the "fake" X server, runs a command