[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, November 19, 2020 @ 08:24:08 Author: andyrtr Revision: 401376 upgpkg: xorg-server 1.20.9+21+g5c400cae1-1: update to latest git commit from stable branch Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch -+ 0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch | 34 - PKGBUILD| 65 ++ 2 files changed, 39 insertions(+), 60 deletions(-) Deleted: 0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch === --- 0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch 2020-11-19 07:59:35 UTC (rev 401375) +++ 0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch 2020-11-19 08:24:08 UTC (rev 401376) @@ -1,34 +0,0 @@ -From 919f1f46fc67dae93b2b3f278fcbfc77af34ec58 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= -Date: Mon, 31 Aug 2020 12:10:43 +0200 -Subject: [PATCH] xfree86: Take second reference for SavedCursor in - xf86CursorSetCursor - -The same pointer is kept in CurrentCursor as well, therefore two -RefCursor calls are needed. - -Fixes use-after-free after switching VTs. - -Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1067 -Signed-off-by: Laurent Carlier - hw/xfree86/ramdac/xf86CursorRD.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/xfree86/ramdac/xf86CursorRD.c b/hw/xfree86/ramdac/xf86CursorRD.c -index 9aa3de97b..c8362d169 100644 a/hw/xfree86/ramdac/xf86CursorRD.c -+++ b/hw/xfree86/ramdac/xf86CursorRD.c -@@ -334,6 +334,9 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, - ScreenPriv->HotY = cursor->bits->yhot; - - if (!infoPtr->pScrn->vtSema) { -+cursor = RefCursor(cursor); -+if (ScreenPriv->SavedCursor) -+FreeCursor(ScreenPriv->SavedCursor, None); - ScreenPriv->SavedCursor = cursor; - return; - } --- -2.28.0 - Modified: PKGBUILD === --- PKGBUILD2020-11-19 07:59:35 UTC (rev 401375) +++ PKGBUILD2020-11-19 08:24:08 UTC (rev 401376) @@ -4,8 +4,11 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.20.9 -pkgrel=3 + +_commit=5c400cae1f9817045378966effa6bca91e45aead # server-1.20-branch 2020-11-09 + +pkgver=1.20.9+21+g5c400cae1 +pkgrel=1 arch=('x86_64') license=('custom') groups=('xorg') @@ -15,12 +18,12 @@ 'libxmu' 'libxrender' 'libxi' 'libxaw' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'libepoxy' 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' - 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'egl-wayland' 'meson') # 'git') -source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} + 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'egl-wayland' 'meson' 'git') +source=(#https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} +"git+https://gitlab.freedesktop.org/xorg/xserver#commit=$_commit; xserver-autobind-hotplug.patch 0001-v2-FS-58644.patch 0002-fix-libshadow-2.patch -0001-xfree86-Take-second-reference-for-SavedCursor-in-xf8.patch xvfb-run # with updates from FC master xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' @@ -28,17 +31,21 @@ 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3' '' '3BB639E56F861FA2E86505690FDD682D974CA72A') -sha512sums=('d9b5f93e1b9763a89187d8b272aa7d4ce9709641b8539f4536708af153310e5a4931bffd4229c51a3b0e3b12da7838750aa71b635751fb4c0bb27438cce4e5e6' -'SKIP' - 'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22' - '74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363' - '3d3be34ad9fa976daec53573d3a30a9f1953341ba5ee27099af0141f0ef7994fa5cf84dc08aae848380e6abfc10879f9a67f07601c7a437abf8aef13a3ec9fe1' - '7511af2aa99e2f6398987350ad0ff089c22c10017d40981ab610201b953ca4b29cd24aa1ff201ba792f03bdcca7d59d34c2809f4691f84bd86e8ec8016dd279d' - '4154dd55702b98083b26077bf70c60aa957b4795dbf831bcc4c78b3cb44efe214f0cf8e3c140729c829b5f24e7466a24615ab8dbcce0ac6ebee3229531091514' -
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, October 25, 2019 @ 08:46:03 Author: lcarlier Revision: 365510 upgpkg: xorg-server 1.20.5-4 fix FS#62973 Added: xorg-server/trunk/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch Modified: xorg-server/trunk/PKGBUILD -+ 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch | 53 ++ PKGBUILD|7 + 2 files changed, 59 insertions(+), 1 deletion(-) Added: 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch === --- 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch (rev 0) +++ 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch 2019-10-25 08:46:03 UTC (rev 365510) @@ -0,0 +1,53 @@ +From 2f0dd1816d556eef8c4b691330d39f13e1ed93f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Wed, 3 Jul 2019 11:53:56 +0200 +Subject: [PATCH] Revert "present/scmd: Check that the flip and screen pixmap + pitches match" + +This reverts commit ef91da2757050652c724f6e674e8b1acf5d0cb31. + +I thought this couldn't work under any circumstances, but I was wrong, +and drivers are already checking for cases that really cannot work. + +Fixes issue #839. +--- + present/present_scmd.c | 8 +++- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/present/present_scmd.c b/present/present_scmd.c +index 7c2f80997..8417d0925 100644 +--- a/present/present_scmd.c b/present/present_scmd.c +@@ -78,7 +78,7 @@ present_check_flip(RRCrtcPtrcrtc, +PresentFlipReason *reason) + { + ScreenPtr screen = window->drawable.pScreen; +-PixmapPtr screen_pixmap, window_pixmap; ++PixmapPtr window_pixmap; + WindowPtr root = screen->root; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + +@@ -99,9 +99,8 @@ present_check_flip(RRCrtcPtrcrtc, + return FALSE; + + /* Make sure the window hasn't been redirected with Composite */ +-screen_pixmap = screen->GetScreenPixmap(screen); + window_pixmap = screen->GetWindowPixmap(window); +-if (window_pixmap != screen_pixmap && ++if (window_pixmap != screen->GetScreenPixmap(screen) && + window_pixmap != screen_priv->flip_pixmap && + window_pixmap != present_flip_pending_pixmap(screen)) + return FALSE; +@@ -127,8 +126,7 @@ present_check_flip(RRCrtcPtrcrtc, + window->drawable.x != pixmap->screen_x || window->drawable.y != pixmap->screen_y || + #endif + window->drawable.width != pixmap->drawable.width || +-window->drawable.height != pixmap->drawable.height || +-pixmap->devKind != screen_pixmap->devKind) { ++window->drawable.height != pixmap->drawable.height) { + return FALSE; + } + +-- +2.23.0 + Modified: PKGBUILD === --- PKGBUILD2019-10-25 08:10:12 UTC (rev 365509) +++ PKGBUILD2019-10-25 08:46:03 UTC (rev 365510) @@ -5,7 +5,7 @@ pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.20.5 -pkgrel=3 +pkgrel=4 arch=('x86_64') license=('custom') groups=('xorg') @@ -20,6 +20,7 @@ xserver-autobind-hotplug.patch 0001-v2-FS-58644.patch 0002-fix-libshadow-2.patch + 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch glvnd.patch xvfb-run # with updates from FC master xvfb-run.1) @@ -32,6 +33,7 @@ 'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22' '74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363' '0c7f7e43a2ba2372509f4a35e33a8a87a2e631c7e630c9c7c67ecaad00453b52c31d9dc26d1852ecd2fe1cb8c02cb716c1f39a4723473c38a0ef6e559bead271' + 'd60662f4eefeb64a034563cbfc36167466e0f4b0357d996bdb3462de14b2936420414e3527defe72af781d9fe9757e7486a43f952d8b7740b08815bc5df7b28f' '0cdb9972af7fb215f0f2a7677cf05f0a35b7227a2953cb68a59d9947a02f6f1c128a080cf3e28d6c6295fc24d673cb258e29d6a976b8c924f73a797e5188452a' '55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6' 'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22') @@ -50,6 +52,9 @@ # https://bugs.freedesktop.org/show_bug.cgi?id=106656 patch -Np1 -i ../0002-fix-libshadow-2.patch + # fix FS#62973
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Monday, June 18, 2018 @ 15:18:17 Author: lcarlier Revision: 327128 upgpkg: xorg-server 1.20.0-9 fix FS#58962 Added: xorg-server/trunk/0001-Xext-shm-Refuse-to-work-for-remote-clients.patch Modified: xorg-server/trunk/PKGBUILD ---+ 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch | 60 PKGBUILD |9 +- 2 files changed, 67 insertions(+), 2 deletions(-) Added: 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch === --- 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch (rev 0) +++ 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch 2018-06-18 15:18:17 UTC (rev 327128) @@ -0,0 +1,60 @@ +From ec7e2b54c5b4a34b2a077082967bc3ead30e227e Mon Sep 17 00:00:00 2001 +From: Alexander Volkov +Date: Tue, 5 Jun 2018 13:05:39 +0300 +Subject: [PATCH] Xext/shm: Refuse to work for remote clients + +Avoid access to System V shared memory segment on the X server side +for clients forwarded via SSH. Also prevent them from hanging while +waiting for the reply from the ShmCreateSegment request. + +v2: Allow ShmQueryVersion request even for remote clients + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=11080 +Signed-off-by: Alexander Volkov +Reviewed-by: Adam Jackson +Signed-off-by: Laurent Carlier +--- + Xext/shm.c | 18 ++ + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/Xext/shm.c b/Xext/shm.c +index fc8441c..896a966 100644 +--- a/Xext/shm.c b/Xext/shm.c +@@ -1302,9 +1302,14 @@ static int + ProcShmDispatch(ClientPtr client) + { + REQUEST(xReq); +-switch (stuff->data) { +-case X_ShmQueryVersion: ++ ++if (stuff->data == X_ShmQueryVersion) + return ProcShmQueryVersion(client); ++ ++if (!client->local) ++return BadRequest; ++ ++switch (stuff->data) { + case X_ShmAttach: + return ProcShmAttach(client); + case X_ShmDetach: +@@ -1461,9 +1466,14 @@ static int _X_COLD + SProcShmDispatch(ClientPtr client) + { + REQUEST(xReq); +-switch (stuff->data) { +-case X_ShmQueryVersion: ++ ++if (stuff->data == X_ShmQueryVersion) + return SProcShmQueryVersion(client); ++ ++if (!client->local) ++return BadRequest; ++ ++switch (stuff->data) { + case X_ShmAttach: + return SProcShmAttach(client); + case X_ShmDetach: +-- +2.17.1 + Modified: PKGBUILD === --- PKGBUILD2018-06-18 14:40:03 UTC (rev 327127) +++ PKGBUILD2018-06-18 15:18:17 UTC (rev 327128) @@ -6,7 +6,7 @@ pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.20.0 -pkgrel=8 +pkgrel=9 arch=('x86_64') license=('custom') groups=('xorg') @@ -27,6 +27,7 @@ xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch +0001-Xext-shm-Refuse-to-work-for-remote-clients.patch xvfb-run # with updates from FC master xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' @@ -44,6 +45,7 @@ 'fc259a0a4acb7b70209fc599b0f4bc94942316bbc8c6995f783026b7cd455900bcb7527615d76c99bd2e0155e0035cbd619939a1f7ddf3af32ed854afe45b631' '1990daa38f2eba161ecc2f310711af85e3d76c78ca45e002dff3697da2f8a2dc53d9371b1e7e55be80a002ef9cb095c6675e19021f270d06cf2b4ea728407aea' 'e6339cb1c41e26a43caae7f3e991e9f528000676c29f5bc5a29c99bab2a5f5529efba2b9226a63d138700e6228b234eccd2982d40052b4ee41cfdff96dcc1521' + '8192f5ace7cb3780afaf06211c8a294fc3a1de27884432670f96a1f1cb0354e01a61a9e599097c9ac660b171f97f75632a7ef799df9df817425466ba5fb3c4f0' '55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6' 'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22') @@ -75,8 +77,11 @@ # Display incorrect when rotated 90 degree - FS#58637 patch -Np1 -i ../xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch - # xserver by default listens on tcp sockets - FS##59025 + # xserver by default listens on tcp sockets - FS#59025 patch -Np1 -i ../meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch + + # SSH X11 forwarding no longer works for Qt apps - FS#58962 + patch -Np1 -i ../0001-Xext-shm-Refuse-to-work-for-remote-clients.patch } build() {
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, April 12, 2018 @ 05:34:32 Author: lcarlier Revision: 321611 upgpkg: xorg-server 1.19.6+13+gd0d1a694f-2 fix FS#58187 Added: xorg-server/trunk/xext-shm-downgrade-from-error-to-debug.patch Modified: xorg-server/trunk/PKGBUILD --+ PKGBUILD |6 - xext-shm-downgrade-from-error-to-debug.patch | 27 + 2 files changed, 32 insertions(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2018-04-11 22:58:31 UTC (rev 321610) +++ PKGBUILD2018-04-12 05:34:32 UTC (rev 321611) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.19.6+13+gd0d1a694f -pkgrel=1 +pkgrel=2 arch=('x86_64') license=('custom') groups=('xorg') @@ -22,6 +22,7 @@ source=("git+https://anongit.freedesktop.org/git/xorg/xserver.git#commit=$_commit; nvidia-add-modulepath-support.patch xserver-autobind-hotplug.patch + xext-shm-downgrade-from-error-to-debug.patch xvfb-run xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' @@ -31,6 +32,7 @@ sha256sums=('SKIP' '914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8' 'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57' +'ecfd6f72bd6e9494f64d48ab4abb8c68d07ce102c90b07006b21d60f63c1cdc8' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') @@ -47,6 +49,8 @@ patch -Np1 -i ../nvidia-add-modulepath-support.patch # patch from Fedora, not yet merged patch -Np1 -i ../xserver-autobind-hotplug.patch + # merged upstream in trunk (FS#58187) + patch -Np1 -i ../xext-shm-downgrade-from-error-to-debug.patch autoreconf -vfi } Added: xext-shm-downgrade-from-error-to-debug.patch === --- xext-shm-downgrade-from-error-to-debug.patch (rev 0) +++ xext-shm-downgrade-from-error-to-debug.patch2018-04-12 05:34:32 UTC (rev 321611) @@ -0,0 +1,27 @@ +From d36128a72acac4d54813c52c93efefad2dc9af41 Mon Sep 17 00:00:00 2001 +From: Alexander Volkov+Date: Mon, 12 Mar 2018 15:12:10 +0300 +Subject: Xext/shm: Downgrade from error to debug log output about success + +Signed-off-by: Alexander Volkov +Reviewed-by: Adam Jackson +--- + Xext/shm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Xext/shm.c b/Xext/shm.c +index 15e1b67..fc8441c 100644 +--- a/Xext/shm.c b/Xext/shm.c +@@ -1199,7 +1199,7 @@ shm_tmpfile(void) + #ifdef O_TMPFILE + fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); + if (fd >= 0) { +- ErrorF ("Using O_TMPFILE\n"); ++ DebugF ("Using O_TMPFILE\n"); + return fd; + } + ErrorF ("Not using O_TMPFILE\n"); +-- +cgit v1.1 +
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, April 7, 2017 @ 18:34:33 Author: lcarlier Revision: 292269 upgpkg: xorg-server 1.19.3-2 add a fix xorg with libdrm 2.4.78 Added: xorg-server/trunk/modesetting-Set-correct-DRM-event-context-version.patch Modified: xorg-server/trunk/PKGBUILD -+ PKGBUILD|6 +- modesetting-Set-correct-DRM-event-context-version.patch | 38 ++ 2 files changed, 43 insertions(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2017-04-07 15:39:21 UTC (rev 292268) +++ PKGBUILD2017-04-07 18:34:33 UTC (rev 292269) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.19.3 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -20,6 +20,7 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} nvidia-add-modulepath-support.patch xserver-autobind-hotplug.patch +modesetting-Set-correct-DRM-event-context-version.patch xvfb-run xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' @@ -29,6 +30,7 @@ 'SKIP' '914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8' 'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57' +'831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') @@ -39,6 +41,8 @@ patch -Np1 -i ../nvidia-add-modulepath-support.patch # patch from Fedora, not yet merged patch -Np1 -i ../xserver-autobind-hotplug.patch + # merged in trunk + patch -Np1 -i ../modesetting-Set-correct-DRM-event-context-version.patch autoreconf -vfi } Added: modesetting-Set-correct-DRM-event-context-version.patch === --- modesetting-Set-correct-DRM-event-context-version.patch (rev 0) +++ modesetting-Set-correct-DRM-event-context-version.patch 2017-04-07 18:34:33 UTC (rev 292269) @@ -0,0 +1,38 @@ +From 0c8e6ed85810e96d84173a52d628863802a78d82 Mon Sep 17 00:00:00 2001 +From: Daniel Stone+Date: Fri, 7 Apr 2017 14:27:58 +0100 +Subject: [PATCH] modesetting: Set correct DRM event context version + +DRM_EVENT_CONTEXT_VERSION is the latest context version supported by +whatever version of libdrm is present. modesetting was blindly asserting +it supported whatever version that may be, even if it actually didn't. + +With libdrm 2.4.78, setting a higher context version than 2 will attempt +to call the page_flip_handler2 vfunc if it was non-NULL, which being a +random chunk of stack memory, it might well have been. + +Set the version as 2, which should be bumped only with the appropriate +version checks. + +Reviewed-by: Adam Jackson +Signed-off-by: Daniel Stone +--- + hw/xfree86/drivers/modesetting/vblank.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xfree86/drivers/modesetting/vblank.c b/hw/xfree86/drivers/modesetting/vblank.c +index 04a8952..8682f4d 100644 +--- a/hw/xfree86/drivers/modesetting/vblank.c b/hw/xfree86/drivers/modesetting/vblank.c +@@ -402,7 +402,7 @@ ms_vblank_screen_init(ScreenPtr screen) + modesettingEntPtr ms_ent = ms_ent_priv(scrn); + xorg_list_init(_drm_queue); + +-ms->event_context.version = DRM_EVENT_CONTEXT_VERSION; ++ms->event_context.version = 2; + ms->event_context.vblank_handler = ms_drm_handler; + ms->event_context.page_flip_handler = ms_drm_handler; + +-- +2.12.2 +
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Sunday, February 12, 2017 @ 07:57:30 Author: lcarlier Revision: 288720 upgpkg: xorg-server 1.19.1-3 remove glx symlink support, add fedora and upstream patches for libglvnd support Added: xorg-server/trunk/nvidia-add-modulepath-support.patch Modified: xorg-server/trunk/PKGBUILD -+ PKGBUILD| 13 nvidia-add-modulepath-support.patch | 851 ++ 2 files changed, 858 insertions(+), 6 deletions(-) Modified: PKGBUILD === --- PKGBUILD2017-02-12 07:43:04 UTC (rev 288719) +++ PKGBUILD2017-02-12 07:57:30 UTC (rev 288720) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.19.1 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -19,6 +19,7 @@ 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols') source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} bug99358.patch +nvidia-add-modulepath-support.patch xvfb-run xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' @@ -27,6 +28,7 @@ sha256sums=('79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb' 'SKIP' 'f46a9d1a5ac43c5359fbd8c57b6e64b0bd313116b5cb638527bfe3701e6c3904' +'914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') @@ -33,10 +35,13 @@ prepare() { cd "${pkgbase}-${pkgver}" + # merged upstream in trunk + patch -Np1 -i ../nvidia-add-modulepath-support.patch + # https://bugs.freedesktop.org/show_bug.cgi?id=99358 # https://bugs.archlinux.org/task/52808 patch -Np1 -i ../bug99358.patch -} + } build() { cd "${pkgbase}-${pkgver}" @@ -120,10 +125,6 @@ # distro specific files must be installed in /usr/share/X11/xorg.conf.d install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" - # Needed for non-mesa drivers, libgl will restore it - mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \ - "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg" - rm -rf "${pkgdir}/var" rm -f "${pkgdir}/usr/share/man/man1/Xserver.1" Added: nvidia-add-modulepath-support.patch === --- nvidia-add-modulepath-support.patch (rev 0) +++ nvidia-add-modulepath-support.patch 2017-02-12 07:57:30 UTC (rev 288720) @@ -0,0 +1,851 @@ +From c17e544b271ced65483692103d39ed1188d4ca25 Mon Sep 17 00:00:00 2001 +From: Hans de Goede+Date: Tue, 27 Sep 2016 14:30:10 +0200 +Subject: [PATCH xserver v2 5/7] xfree86: Remove redundant ServerIsNotSeat0 + check from xf86CallDriverProbe + +If foundScreen is TRUE, then all the code below the removed if +will not execute until we reach the return foundScreen; at the +end, so this entire if block is redundant. + +Signed-off-by: Hans de Goede +--- + hw/xfree86/common/xf86Bus.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +index 5b93940..27c6b1b 100644 +--- a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +@@ -82,8 +82,6 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) + if (!xf86DoConfigure && drv->platformProbe != NULL) { + foundScreen = xf86platformProbeDev(drv); + } +-if (ServerIsNotSeat0() && foundScreen) +-return foundScreen; + #endif + + #ifdef XSERVER_LIBPCIACCESS +-- +2.9.3 + +From 74bc0fff3a6ca233e56b3fb2971bca97b5a4f8b5 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 30 Sep 2016 11:59:04 +0200 +Subject: [PATCH xserver v2 6/7] xfree86: Make adding unclaimed devices as GPU + devices a separate step + +This is primarily a preparation patch for fixing the xserver exiting with +a "no screens found" error even though there are supported video cards, +due to the server not recognizing any card as the primary card. + +This also fixes the (mostly theoretical) case of a platformBus capable +driver adding a device as GPUscreen before a driver which only supports +the old PCI probe method gets a chance to claim it as a normal screen. + +Signed-off-by: Hans de Goede +--- + hw/xfree86/common/xf86Bus.c | 4 + hw/xfree86/common/xf86platformBus.c | 15 +++ + hw/xfree86/common/xf86platformBus.h | 6 ++ + 3 files changed, 25 insertions(+) + +diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +index 27c6b1b..a3a9898 100644 +--- a/hw/xfree86/common/xf86Bus.c
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, July 15, 2016 @ 10:22:10 Author: lcarlier Revision: 271891 upgpkg: xorg-server 1.18.3-3 Add a patch to fix broken cursor with some steam games (the cave, shadow warrior, ...) Added: xorg-server/trunk/xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch Modified: xorg-server/trunk/PKGBUILD --+ PKGBUILD | 10 ++ xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch | 34 ++ 2 files changed, 41 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2016-07-15 10:18:50 UTC (rev 271890) +++ PKGBUILD2016-07-15 10:22:10 UTC (rev 271891) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.3 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -20,7 +20,8 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run xvfb-run.1 -call-eglBindAPI-after-eglInitialize.patch) +call-eglBindAPI-after-eglInitialize.patch +xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -28,12 +29,15 @@ 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' -'45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d') +'45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d' +'ecb0b1f73342e8c3de1563efcc812ac0235e2994d0343b392c1f51920510aa18') prepare() { cd "${pkgbase}-${pkgver}" patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch + # fix broken cursor in games with mesa drivers + patch -Np1 -i ../xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch } build() { Added: xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch === --- xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch (rev 0) +++ xserver-dix-Work-around-non-premultiplied-ARGB-cursor-data.patch 2016-07-15 10:22:10 UTC (rev 271891) @@ -0,0 +1,34 @@ +diff --git a/dix/cursor.c b/dix/cursor.c +index e459456..25d6767 100644 +--- a/dix/cursor.c b/dix/cursor.c +@@ -288,6 +288,29 @@ AllocARGBCursor(unsigned char *psrcbits, unsigned char *pmaskbits, + goto error; + + *ppCurs = pCurs; ++ ++if (argb) { ++size_t i, size = bits->width * bits->height; ++ ++for (i = 0; i < size; i++) { ++if ((argb[i] & 0xff00) == 0 && (argb[i] & 0xff) != 0) { ++/* ARGB data doesn't seem pre-multiplied, fix it */ ++for (i = 0; i < size; i++) { ++CARD32 a, ar, ag, ab; ++ ++a = argb[i] >> 24; ++ar = a * ((argb[i] >> 16) & 0xff) / 0xff; ++ag = a * ((argb[i] >> 8) & 0xff) / 0xff; ++ab = a * (argb[i] & 0xff) / 0xff; ++ ++argb[i] = a << 24 | ar << 16 | ag << 8 | ab; ++} ++ ++break; ++} ++} ++} ++ + return Success; + + error:
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, June 3, 2016 @ 10:03:28 Author: lcarlier Revision: 268864 upgpkg: xorg-server 1.18.3-2 Fix glamor failling to initialize with mesa git e8b38ca Added: xorg-server/trunk/call-eglBindAPI-after-eglInitialize.patch Modified: xorg-server/trunk/PKGBUILD ---+ PKGBUILD | 14 ++-- call-eglBindAPI-after-eglInitialize.patch | 48 2 files changed, 59 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2016-06-03 07:31:30 UTC (rev 268863) +++ PKGBUILD2016-06-03 08:03:28 UTC (rev 268864) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.3 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -19,7 +19,8 @@ 'libxshmfence' 'libunwind') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run -xvfb-run.1) +xvfb-run.1 +call-eglBindAPI-after-eglInitialize.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -26,8 +27,15 @@ sha256sums=('ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' -'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') +'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' +'45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d') +prepare() { + cd "${pkgbase}-${pkgver}" + + patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch +} + build() { cd "${pkgbase}-${pkgver}" ./configure --prefix=/usr \ Added: call-eglBindAPI-after-eglInitialize.patch === --- call-eglBindAPI-after-eglInitialize.patch (rev 0) +++ call-eglBindAPI-after-eglInitialize.patch 2016-06-03 08:03:28 UTC (rev 268864) @@ -0,0 +1,48 @@ +diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c +index 4bcd3ce..16a20a7 100644 +--- a/glamor/glamor_egl.c b/glamor/glamor_egl.c +@@ -770,11 +770,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + + glamor_egl->has_gem = glamor_egl_check_has_gem(fd); + +-#ifndef GLAMOR_GLES2 +-eglBindAPI(EGL_OPENGL_API); +-#else +-eglBindAPI(EGL_OPENGL_ES_API); +-#endif + if (!eglInitialize + (glamor_egl->display, _egl->major, _egl->minor)) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n"); +@@ -782,6 +777,12 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + goto error; + } + ++#ifndef GLAMOR_GLES2 ++eglBindAPI(EGL_OPENGL_API); ++#else ++eglBindAPI(EGL_OPENGL_ES_API); ++#endif ++ + version = eglQueryString(glamor_egl->display, EGL_VERSION); + xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version); + +diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c +index ad66cf6..73ccd71 100644 +--- a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c +@@ -298,12 +298,13 @@ xwl_drm_init_egl(struct xwl_screen *xwl_screen) + return; + } + +-eglBindAPI(EGL_OPENGL_API); + if (!eglInitialize(xwl_screen->egl_display, , )) { + ErrorF("eglInitialize() failed\n"); + return; + } + ++eglBindAPI(EGL_OPENGL_API); ++ + version = eglQueryString(xwl_screen->egl_display, EGL_VERSION); + ErrorF("glamor: EGL version %s:\n", version); +
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Saturday, March 19, 2016 @ 12:25:44 Author: lcarlier Revision: 262078 upgpkg: xorg-server 1.18.2-3 workaround FS#48549 Added: xorg-server/trunk/0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch Modified: xorg-server/trunk/PKGBUILD -+ 0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch | 39 ++ PKGBUILD| 12 ++- 2 files changed, 48 insertions(+), 3 deletions(-) Added: 0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch === --- 0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch (rev 0) +++ 0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch 2016-03-19 11:25:44 UTC (rev 262078) @@ -0,0 +1,39 @@ +From 155768e794e31892037e1a082d8457f7f122b9f0 Mon Sep 17 00:00:00 2001 +From: Laurent Carlier+Date: Fri, 18 Mar 2016 15:10:37 +0100 +Subject: [PATCH xserver] Revert "present: Requeue if flip driver hook fails + and target MSC not reached" + +This reverts commit eb5108b87017128f394ae31b5b7cd85dd8819bca. +--- + present/present.c | 14 -- + 1 file changed, 14 deletions(-) + +diff --git a/present/present.c b/present/present.c +index 55f6aa7..d6df54f 100644 +--- a/present/present.c b/present/present.c +@@ -724,20 +724,6 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) + if (window == screen_priv->flip_window) + present_unflip(screen); + } +- +-/* If present_flip failed, we may have to requeue for the target MSC */ +-if (msc_is_after(vblank->target_msc, crtc_msc) && +-Success == present_queue_vblank(screen, +-vblank->crtc, +-vblank->event_id, +-vblank->target_msc)) { +-xorg_list_add(>event_queue, _exec_queue); +-xorg_list_append(>window_list, +- _get_window_priv(window, TRUE)->vblank); +-vblank->queued = TRUE; +-return; +-} +- + present_copy_region(>drawable, vblank->pixmap, vblank->update, vblank->x_off, vblank->y_off); + + /* present_copy_region sticks the region into a scratch GC, +-- +2.7.3 + Modified: PKGBUILD === --- PKGBUILD2016-03-19 11:12:17 UTC (rev 262077) +++ PKGBUILD2016-03-19 11:25:44 UTC (rev 262078) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.2 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -21,7 +21,8 @@ xvfb-run xvfb-run.1 0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch -0002-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch) +0002-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch +0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -30,7 +31,8 @@ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '10c66c10f4f71930e2ac3f6e07881e228ca88542af449d2c69c7744ec87335df' -'72755a652e72144e3f28c8fa959b4a6df5def838db3cde5077a626e97baab591') +'72755a652e72144e3f28c8fa959b4a6df5def838db3cde5077a626e97baab591' +'692cccb82ae20be237ac9fda9347c06952e9ca2971d63dc54cf63ad2223d41a0') prepare() { cd "${pkgbase}-${pkgver}" @@ -39,6 +41,10 @@ patch -Np1 -i ../0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch # Fix flooding of Xorg log file patch -Np1 -i ../0002-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch + # workaround FS#48549 + # upstream https://bugs.freedesktop.org/show_bug.cgi?id=94515 + # upstream https://bugs.freedesktop.org/show_bug.cgi?id=94596 + patch -Np1 -i ../0003-Revert-present-Requeue-if-flip-driver-hook-fails-and.patch } build() {
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Saturday, March 12, 2016 @ 17:34:08 Author: lcarlier Revision: 261366 upgpkg: xorg-server 1.18.2-1 upstream update 1.18.2 Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/Fix-XineramaQueryScreens-for-reverse-prime.patch --+ Fix-XineramaQueryScreens-for-reverse-prime.patch | 55 - PKGBUILD | 18 +- 2 files changed, 5 insertions(+), 68 deletions(-) Deleted: Fix-XineramaQueryScreens-for-reverse-prime.patch === --- Fix-XineramaQueryScreens-for-reverse-prime.patch2016-03-12 15:46:46 UTC (rev 261365) +++ Fix-XineramaQueryScreens-for-reverse-prime.patch2016-03-12 16:34:08 UTC (rev 261366) @@ -1,55 +0,0 @@ -diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c -index c37dcf8..58041bb 100644 a/randr/rrmonitor.c -+++ b/randr/rrmonitor.c -@@ -326,7 +326,7 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, - RRMonitorSetFromClient(pScrPriv->monitors[list.client_primary], mon); - mon++; - } else if (list.server_primary >= 0) { --RRMonitorSetFromServer(pScrPriv->crtcs[list.server_primary], mon); -+RRMonitorSetFromServer(list.server_crtc[list.server_primary], mon); - mon++; - } - -@@ -354,8 +354,8 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, - - /* And finish with the list of crtc-inspired monitors - */ --for (c = 0; c < pScrPriv->numCrtcs; c++) { --RRCrtcPtr crtc = pScrPriv->crtcs[c]; -+for (c = 0; c < list.num_crtcs; c++) { -+RRCrtcPtr crtc = list.server_crtc[c]; - if (c == list.server_primary && list.client_primary < 0) - continue; - -diff --git a/randr/rroutput.c b/randr/rroutput.c -index d12b9ba..2ba62fa 100644 a/randr/rroutput.c -+++ b/randr/rroutput.c -@@ -543,6 +543,7 @@ ProcRRSetOutputPrimary(ClientPtr client) - WindowPtr pWin; - rrScrPrivPtr pScrPriv; - int ret; -+ScreenPtr slave; - - REQUEST_SIZE_MATCH(xRRSetOutputPrimaryReq); - -@@ -565,7 +566,18 @@ ProcRRSetOutputPrimary(ClientPtr client) - - pScrPriv = rrGetScrPriv(pWin->drawable.pScreen); - if (pScrPriv) -+{ - RRSetPrimaryOutput(pWin->drawable.pScreen, pScrPriv, output); -+ -+xorg_list_for_each_entry(slave, -+ >drawable.pScreen->output_slave_list, -+ output_head) { -+rrScrPrivPtr pSlavePriv; -+pSlavePriv = rrGetScrPriv(slave); -+ -+RRSetPrimaryOutput(slave, pSlavePriv, output); -+} -+} - - return Success; - } Modified: PKGBUILD === --- PKGBUILD2016-03-12 15:46:46 UTC (rev 261365) +++ PKGBUILD2016-03-12 16:34:08 UTC (rev 261366) @@ -4,8 +4,8 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.18.1 -pkgrel=3 +pkgver=1.18.2 +pkgrel=1 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -19,23 +19,15 @@ 'libxshmfence' 'libunwind') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run -xvfb-run.1 -Fix-XineramaQueryScreens-for-reverse-prime.patch) +xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') -sha256sums=('85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d' +sha256sums=('022142b07f6477d140dcc915902df326408a53ca3a352426a499f142b25d632d' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' -'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' -'afc334dfe1f1eb9e557ae01771b0f774c8fc578115e1698462ab670d1b0a213a') +'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') -prepare() { - cd "${pkgbase}-${pkgver}" - # FS#47151 - patch -Np1 -i ../Fix-XineramaQueryScreens-for-reverse-prime.patch -} - build() { cd "${pkgbase}-${pkgver}" ./configure --prefix=/usr \
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, February 11, 2016 @ 11:06:02 Author: lcarlier Revision: 259063 upgpkg: xorg-server 1.18.1-3 try to fix FS#47151 Added: xorg-server/trunk/Fix-XineramaQueryScreens-for-reverse-prime.patch Modified: xorg-server/trunk/PKGBUILD --+ Fix-XineramaQueryScreens-for-reverse-prime.patch | 55 + PKGBUILD | 14 - 2 files changed, 66 insertions(+), 3 deletions(-) Added: Fix-XineramaQueryScreens-for-reverse-prime.patch === --- Fix-XineramaQueryScreens-for-reverse-prime.patch (rev 0) +++ Fix-XineramaQueryScreens-for-reverse-prime.patch2016-02-11 10:06:02 UTC (rev 259063) @@ -0,0 +1,55 @@ +diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c +index c37dcf8..58041bb 100644 +--- a/randr/rrmonitor.c b/randr/rrmonitor.c +@@ -326,7 +326,7 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, + RRMonitorSetFromClient(pScrPriv->monitors[list.client_primary], mon); + mon++; + } else if (list.server_primary >= 0) { +-RRMonitorSetFromServer(pScrPriv->crtcs[list.server_primary], mon); ++RRMonitorSetFromServer(list.server_crtc[list.server_primary], mon); + mon++; + } + +@@ -354,8 +354,8 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, + + /* And finish with the list of crtc-inspired monitors + */ +-for (c = 0; c < pScrPriv->numCrtcs; c++) { +-RRCrtcPtr crtc = pScrPriv->crtcs[c]; ++for (c = 0; c < list.num_crtcs; c++) { ++RRCrtcPtr crtc = list.server_crtc[c]; + if (c == list.server_primary && list.client_primary < 0) + continue; + +diff --git a/randr/rroutput.c b/randr/rroutput.c +index d12b9ba..2ba62fa 100644 +--- a/randr/rroutput.c b/randr/rroutput.c +@@ -543,6 +543,7 @@ ProcRRSetOutputPrimary(ClientPtr client) + WindowPtr pWin; + rrScrPrivPtr pScrPriv; + int ret; ++ScreenPtr slave; + + REQUEST_SIZE_MATCH(xRRSetOutputPrimaryReq); + +@@ -565,7 +566,18 @@ ProcRRSetOutputPrimary(ClientPtr client) + + pScrPriv = rrGetScrPriv(pWin->drawable.pScreen); + if (pScrPriv) ++{ + RRSetPrimaryOutput(pWin->drawable.pScreen, pScrPriv, output); ++ ++xorg_list_for_each_entry(slave, ++ >drawable.pScreen->output_slave_list, ++ output_head) { ++rrScrPrivPtr pSlavePriv; ++pSlavePriv = rrGetScrPriv(slave); ++ ++RRSetPrimaryOutput(slave, pSlavePriv, output); ++} ++} + + return Success; + } Modified: PKGBUILD === --- PKGBUILD2016-02-11 08:43:49 UTC (rev 259062) +++ PKGBUILD2016-02-11 10:06:02 UTC (rev 259063) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.1 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -19,7 +19,8 @@ 'libxshmfence' 'libunwind') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run -xvfb-run.1) +xvfb-run.1 +Fix-XineramaQueryScreens-for-reverse-prime.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -26,8 +27,15 @@ sha256sums=('85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' -'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') +'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' +'afc334dfe1f1eb9e557ae01771b0f774c8fc578115e1698462ab670d1b0a213a') +prepare() { + cd "${pkgbase}-${pkgver}" + # FS#47151 + patch -Np1 -i ../Fix-XineramaQueryScreens-for-reverse-prime.patch +} + build() { cd "${pkgbase}-${pkgver}" ./configure --prefix=/usr \
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Tuesday, February 9, 2016 @ 15:22:37 Author: lcarlier Revision: 259001 upgpkg: xorg-server 1.18.1-2 remove patch already applied upstream (FS#48106) Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/0001-systemd-logind-do-not-rely-on-directed-signals.patch ---+ 0001-systemd-logind-do-not-rely-on-directed-signals.patch | 55 PKGBUILD | 14 --- 2 files changed, 3 insertions(+), 66 deletions(-) Deleted: 0001-systemd-logind-do-not-rely-on-directed-signals.patch === --- 0001-systemd-logind-do-not-rely-on-directed-signals.patch 2016-02-09 12:05:37 UTC (rev 259000) +++ 0001-systemd-logind-do-not-rely-on-directed-signals.patch 2016-02-09 14:22:37 UTC (rev 259001) @@ -1,55 +0,0 @@ -From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001 -From: David Herrmann-Date: Mon, 22 Jun 2015 21:13:05 +0200 -Subject: systemd-logind: do not rely on directed signals - -Right now, Xorg does not install DBus matches for "PauseDevice" / -"ResumeDevice". Therefore, it should usually not receive those DBus -signals from logind. It is just a coincidence that systemd-logind sends -those signals in a directed manner right now. Therefore, dbus-daemon -bypasses the broadcast matches. - -However, this is not ABI and Xorg should not rely on this. systemd-logind -is free to send those signals as broadcasts, in which case Xorg will -freeze the VT. Fix this by always installing those matches. - -Cc: Hans de Goede -Cc: Keith Packard -Reported-by: Jan Alexander Steffens -Signed-off-by: David Herrmann -Reviewed-by: Hans de Goede -Tested-by: Hans de Goede -Signed-off-by: Hans de Goede - -diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c -index 69e2f67..2612d9e 100644 a/hw/xfree86/os-support/linux/systemd-logind.c -+++ b/hw/xfree86/os-support/linux/systemd-logind.c -@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data) - goto cleanup; - } - -+dbus_bus_add_match(connection, -+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'", -+); -+if (dbus_error_is_set()) { -+LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", -+ error.message); -+goto cleanup; -+} -+ -+dbus_bus_add_match(connection, -+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'", -+); -+if (dbus_error_is_set()) { -+LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", -+ error.message); -+goto cleanup; -+} -+ - /* - * HdG: This is not useful with systemd <= 208 since the signal only - * contains invalidated property names there, rather than property, val --- -cgit v0.10.2 - Modified: PKGBUILD === --- PKGBUILD2016-02-09 12:05:37 UTC (rev 259000) +++ PKGBUILD2016-02-09 14:22:37 UTC (rev 259001) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -19,8 +19,7 @@ 'libxshmfence' 'libunwind') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run -xvfb-run.1 -0001-systemd-logind-do-not-rely-on-directed-signals.patch) +xvfb-run.1) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -27,15 +26,8 @@ sha256sums=('85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' -'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' -'3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c') +'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') -prepare() { - cd "${pkgbase}-${pkgver}" - # fix VT switching with kdbus; from upstream - patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch -} - build() { cd "${pkgbase}-${pkgver}" ./configure --prefix=/usr \
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, January 8, 2016 @ 19:11:50 Author: lcarlier Revision: 257644 upgpkg: xorg-server 1.18.0-4 remove glamor debugging messages from xorg log file (exposed with amdgpu driver) Added: xorg-server/trunk/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch Modified: xorg-server/trunk/PKGBUILD --+ PKGBUILD | 10 +-- xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch | 14 ++ 2 files changed, 21 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2016-01-08 18:10:00 UTC (rev 257643) +++ PKGBUILD2016-01-08 18:11:50 UTC (rev 257644) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.18.0 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -21,7 +21,8 @@ xvfb-run xvfb-run.1 0001-systemd-logind-do-not-rely-on-directed-signals.patch -v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch) +v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch + xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -30,7 +31,8 @@ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c' -'c8addd0dc6d91797e82c51b539317efa271cd7997609e026c7c8e3884c5f601c') +'c8addd0dc6d91797e82c51b539317efa271cd7997609e026c7c8e3884c5f601c' +'1fe0c2c13bc3643a9a236bc45910e1e68d7b9cbe128204bcc1821752ed266e95') prepare() { cd "${pkgbase}-${pkgver}" @@ -39,6 +41,8 @@ # fix xorg only working with root FS#47061 patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch + # disable debugging glamor messages in xorg log file + patch -Np1 -i ../xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch autoreconf -fvi } Added: xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch === --- xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch (rev 0) +++ xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch 2016-01-08 18:11:50 UTC (rev 257644) @@ -0,0 +1,14 @@ +diff --git a/glamor/glamor.c b/glamor/glamor.c +index 116d10c..81aba2d 100644 +--- a/glamor/glamor.c b/glamor/glamor.c +@@ -393,6 +393,9 @@ glamor_setup_debug_output(ScreenPtr screen) + return; + + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); ++/* Disable debugging messages other than GL API errors */ ++glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, ++ GL_FALSE); + glDebugMessageControl(GL_DEBUG_SOURCE_API, + GL_DEBUG_TYPE_ERROR, + GL_DONT_CARE,
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Saturday, October 17, 2015 @ 13:14:53 Author: lcarlier Revision: 249462 upgpkg: xorg-server 1.17.2-5 fix FS#46741 Added: xorg-server/trunk/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch Modified: xorg-server/trunk/PKGBUILD ---+ 0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch | 84 ++ PKGBUILD | 11 - 2 files changed, 92 insertions(+), 3 deletions(-) Added: 0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch === --- 0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch (rev 0) +++ 0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch 2015-10-17 11:14:53 UTC (rev 249462) @@ -0,0 +1,84 @@ +From ca355e9d6acab994453cdbb65cb213d09ee4a50f Mon Sep 17 00:00:00 2001 +From: Hans de Goede+Date: Wed, 14 Oct 2015 15:10:35 +0200 +Subject: [PATCH] linux: Do not call FatalError from xf86CloseConsole + +FatalError ends up calling xf86CloseConsole itself, so calling FatalError +from within xf86CloseConsole is not a good idea. + +All the other error checking done in xf86CloseConsole uses +xf86Msg(X_WARNING, ...) except for the switch_to() helper function, +change things so that switch_to() also uses xf86Msg rather then FatalError +when called from xf86CloseConsole. + +BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1269210 +Signed-off-by: Hans de Goede +--- + hw/xfree86/os-support/linux/lnx_init.c | 24 + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c +index ec06a05..9fec964 100644 +--- a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c +@@ -64,17 +64,25 @@ drain_console(int fd, void *closure) + } + + static void +-switch_to(int vt, const char *from) ++switch_to(int vt, Bool is_open) + { + int ret; + + SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt)); +-if (ret < 0) +-FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno)); ++if (ret < 0) { ++if (is_open) ++FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); ++else ++xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); ++} + + SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt)); +-if (ret < 0) +-FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno)); ++if (ret < 0) { ++if (is_open) ++FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); ++else ++xf86Msg(X_WARNING, "xf86CloseConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); ++} + } + + #pragma GCC diagnostic push +@@ -233,7 +241,7 @@ xf86OpenConsole(void) + /* + * now get the VT. This _must_ succeed, or else fail completely. + */ +-switch_to(xf86Info.vtno, "xf86OpenConsole"); ++switch_to(xf86Info.vtno, TRUE); + + SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_GETMODE, )); + if (ret < 0) +@@ -294,7 +302,7 @@ xf86OpenConsole(void) + else { /* serverGeneration != 1 */ + if (!xf86Info.ShareVTs && xf86Info.autoVTSwitch) { + /* now get the VT */ +-switch_to(xf86Info.vtno, "xf86OpenConsole"); ++switch_to(xf86Info.vtno, TRUE); + } + } + } +@@ -346,7 +354,7 @@ xf86CloseConsole(void) + * Perform a switch back to the active VT when we were started + */ + if (activeVT >= 0) { +-switch_to(activeVT, "xf86CloseConsole"); ++switch_to(activeVT, FALSE); + activeVT = -1; + } + } +-- +2.5.0 + Modified: PKGBUILD === --- PKGBUILD2015-10-17 09:03:49 UTC (rev 249461) +++ PKGBUILD2015-10-17 11:14:53 UTC (rev 249462) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.2 -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org; @@ -24,7 +24,8 @@ 0002-dix-hook-up-the-unaccelerated-valuator-masks.patch 0001-systemd-logind-do-not-rely-on-directed-signals.patch 0001-glamor-make-current-in-prepare-paths.patch -0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch) +0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch +0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch)
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, July 17, 2015 @ 19:49:36 Author: lcarlier Revision: 242328 upgpkg: xorg-server 1.17.2-4 add another patch to fix segfault introduced with previous release, related to latest xproto package Added: xorg-server/trunk/0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch Modified: xorg-server/trunk/PKGBUILD -+ 0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch | 63 ++ PKGBUILD|9 - 2 files changed, 69 insertions(+), 3 deletions(-) Added: 0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch === --- 0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch (rev 0) +++ 0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch 2015-07-17 17:49:36 UTC (rev 242328) @@ -0,0 +1,63 @@ +From 7cc7ffd25d5e50b54cb942d07d4cb160f20ff9c5 Mon Sep 17 00:00:00 2001 +From: Martin Peres martin.pe...@linux.intel.com +Date: Fri, 17 Jul 2015 17:21:26 +0300 +Subject: [PATCH] os: make sure the clientsWritable fd_set is initialized + before use + +In WaitForSomething(), the fd_set clientsWritable may be used unitialized when +the boolean AnyClientsWriteBlocked is set in the WakeupHandler(). This leads to +a crash in FlushAllOutput() after x11proto's commit +2c94cdb453bc641246cc8b9a876da9799bee1ce7. + +The problem did not manifest before because both the XFD_SIZE and the maximum +number of clients were set to 256. As the connectionTranslation table was +initalized for the 256 clients to 0, the test on the index not being 0 was +aborting before dereferencing the client #0. + +As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the XFD_SIZE +got bumped to 512. This lead the OutputPending fd_set to have any fd above 256 +to be uninitialized which in turns lead to reading an index after the end of +the ConnectionTranslation table. This index would then be used to find the +client corresponding to the fd marked as pending writes and would also result +to an out-of-bound access which would usually be the fatal one. + +Fix this by zeroing the clientsWritable fd_set at the beginning of +WaitForSomething(). In this case, the bottom part of the loop, which would +indirectly call FlushAllOutput, will not do any work but the next call to +select will result in the execution of the right codepath. This is exactly what +we want because we need to know the writable clients before handling them. In +the end, it also makes sure that the fds above MaxClient are initialized, +preventing the crash in FlushAllOutput(). + +Thanks to everyone involved in tracking this one down! + +Reported-by: Karol Herbst freedesk...@karolherbst.de +Reported-by: Tobias Klausmann tobias.klausm...@mni.thm.de +Signed-off-by: Martin Peres martin.pe...@linux.intel.com +Tested-by: Martin Peres martin.pe...@linux.intel.com +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316 +Cc: Ilia Mirkin imir...@alum.mit.edu +Cc: Martin Peres martin.pe...@linux.intel.com +Cc: Olivier Fourdan ofour...@redhat.com +Cc: Adam Jackson a...@redhat.com +Cc: Alan Coopersmith alan.coopersm...@oracle.com +Cc: Chris Wilson ch...@chris-wilson.co.uk +--- + os/WaitFor.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/os/WaitFor.c b/os/WaitFor.c +index 431f1a6..993c14e 100644 +--- a/os/WaitFor.c b/os/WaitFor.c +@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady) + Bool someReady = FALSE; + + FD_ZERO(clientsReadable); ++FD_ZERO(clientsWritable); + + if (nready) + SmartScheduleStopTimer(); +-- +2.4.5 + Modified: PKGBUILD === --- PKGBUILD2015-07-17 16:05:19 UTC (rev 242327) +++ PKGBUILD2015-07-17 17:49:36 UTC (rev 242328) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.2 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -23,7 +23,8 @@ 0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch 0002-dix-hook-up-the-unaccelerated-valuator-masks.patch 0001-systemd-logind-do-not-rely-on-directed-signals.patch -0001-glamor-make-current-in-prepare-paths.patch) +0001-glamor-make-current-in-prepare-paths.patch +0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -35,7 +36,8 @@ '3dc795002b8763a7d29db94f0af200131da9ce5ffc233bfd8916060f83a8fad7'
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Wednesday, July 15, 2015 @ 18:15:55 Author: lcarlier Revision: 242250 upgpkg: xorg-server 1.17.2-3 fix FS#45009 Added: xorg-server/trunk/0001-glamor-make-current-in-prepare-paths.patch Modified: xorg-server/trunk/PKGBUILD -+ 0001-glamor-make-current-in-prepare-paths.patch | 34 ++ PKGBUILD| 13 +--- 2 files changed, 43 insertions(+), 4 deletions(-) Added: 0001-glamor-make-current-in-prepare-paths.patch === --- 0001-glamor-make-current-in-prepare-paths.patch (rev 0) +++ 0001-glamor-make-current-in-prepare-paths.patch 2015-07-15 16:15:55 UTC (rev 242250) @@ -0,0 +1,34 @@ +From 422a9f7f37eb6027fa4d20a4be208978832be6d6 Mon Sep 17 00:00:00 2001 +From: Dave Airlie airl...@redhat.com +Date: Wed, 15 Jul 2015 17:54:03 +1000 +Subject: [PATCH] glamor: make current in prepare paths + +Lots of the accel paths only make current once they start +doing someting, so a lot of them call the bail paths without +make current, which means on PRIME systems for example +we end up in the wrong context. + +Add a prepare pixmap in the prepare fallback path. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90667 +Signed-off-by: Dave Airlie airl...@redhat.com +--- + glamor/glamor_prepare.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/glamor/glamor_prepare.c b/glamor/glamor_prepare.c +index 9bfc557..68fb58f 100644 +--- a/glamor/glamor_prepare.c b/glamor/glamor_prepare.c +@@ -45,6 +45,8 @@ glamor_prep_pixmap_box(PixmapPtr pixmap, glamor_access_t access, BoxPtr box) + if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv)) + return TRUE; + ++glamor_make_current(glamor_priv); ++ + RegionInit(region, box, 1); + + /* See if it's already mapped */ +-- +2.4.3 + Modified: PKGBUILD === --- PKGBUILD2015-07-15 08:33:58 UTC (rev 242249) +++ PKGBUILD2015-07-15 16:15:55 UTC (rev 242250) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.2 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -22,7 +22,8 @@ xvfb-run.1 0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch 0002-dix-hook-up-the-unaccelerated-valuator-masks.patch -0001-systemd-logind-do-not-rely-on-directed-signals.patch) +0001-systemd-logind-do-not-rely-on-directed-signals.patch +0001-glamor-make-current-in-prepare-paths.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -33,7 +34,8 @@ '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '3dc795002b8763a7d29db94f0af200131da9ce5ffc233bfd8916060f83a8fad7' '416a1422eed71efcebb1d893de74e7f27e408323a56c4df003db37f5673b3f96' -'3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c') +'3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c' +'793579adbef979088cadc0fd9ce0c24df0455a6936d3de7a9356df537b7d9a81') prepare() { cd ${pkgbase}-${pkgver} @@ -42,8 +44,11 @@ patch -Np1 -i ../0002-dix-hook-up-the-unaccelerated-valuator-masks.patch # fix VT switching with kdbus; from upstream - patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch + patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch + # fix FS#45009, merged upstream + patch -Np1 -i ../0001-glamor-make-current-in-prepare-paths.patch + autoreconf -fvi }
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Tuesday, June 30, 2015 @ 23:10:11 Author: heftig Revision: 241622 Add a kdbus fix Added: xorg-server/trunk/0001-systemd-logind-do-not-rely-on-directed-signals.patch Modified: xorg-server/trunk/PKGBUILD ---+ 0001-systemd-logind-do-not-rely-on-directed-signals.patch | 55 PKGBUILD | 14 ++- 2 files changed, 65 insertions(+), 4 deletions(-) Added: 0001-systemd-logind-do-not-rely-on-directed-signals.patch === --- 0001-systemd-logind-do-not-rely-on-directed-signals.patch (rev 0) +++ 0001-systemd-logind-do-not-rely-on-directed-signals.patch 2015-06-30 21:10:11 UTC (rev 241622) @@ -0,0 +1,55 @@ +From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001 +From: David Herrmann dh.herrm...@gmail.com +Date: Mon, 22 Jun 2015 21:13:05 +0200 +Subject: systemd-logind: do not rely on directed signals + +Right now, Xorg does not install DBus matches for PauseDevice / +ResumeDevice. Therefore, it should usually not receive those DBus +signals from logind. It is just a coincidence that systemd-logind sends +those signals in a directed manner right now. Therefore, dbus-daemon +bypasses the broadcast matches. + +However, this is not ABI and Xorg should not rely on this. systemd-logind +is free to send those signals as broadcasts, in which case Xorg will +freeze the VT. Fix this by always installing those matches. + +Cc: Hans de Goede hdego...@redhat.com +Cc: Keith Packard kei...@keithp.com +Reported-by: Jan Alexander Steffens jan.steff...@gmail.com +Signed-off-by: David Herrmann dh.herrm...@gmail.com +Reviewed-by: Hans de Goede hdego...@redhat.com +Tested-by: Hans de Goede hdego...@redhat.com +Signed-off-by: Hans de Goede hdego...@redhat.com + +diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c +index 69e2f67..2612d9e 100644 +--- a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c +@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data) + goto cleanup; + } + ++dbus_bus_add_match(connection, ++ type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice', ++error); ++if (dbus_error_is_set(error)) { ++LogMessage(X_ERROR, systemd-logind: could not add match: %s\n, ++ error.message); ++goto cleanup; ++} ++ ++dbus_bus_add_match(connection, ++ type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice', ++error); ++if (dbus_error_is_set(error)) { ++LogMessage(X_ERROR, systemd-logind: could not add match: %s\n, ++ error.message); ++goto cleanup; ++} ++ + /* + * HdG: This is not useful with systemd = 208 since the signal only + * contains invalidated property names there, rather than property, val +-- +cgit v0.10.2 + Modified: PKGBUILD === --- PKGBUILD2015-06-30 21:10:09 UTC (rev 241621) +++ PKGBUILD2015-06-30 21:10:11 UTC (rev 241622) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.2 -pkgrel=1 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild +pkgrel=2 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -21,7 +21,8 @@ xvfb-run xvfb-run.1 0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch -0002-dix-hook-up-the-unaccelerated-valuator-masks.patch) +0002-dix-hook-up-the-unaccelerated-valuator-masks.patch +0001-systemd-logind-do-not-rely-on-directed-signals.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') @@ -31,7 +32,8 @@ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '3dc795002b8763a7d29db94f0af200131da9ce5ffc233bfd8916060f83a8fad7' -'416a1422eed71efcebb1d893de74e7f27e408323a56c4df003db37f5673b3f96') +'416a1422eed71efcebb1d893de74e7f27e408323a56c4df003db37f5673b3f96' +'3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c') prepare() { cd ${pkgbase}-${pkgver} @@ -38,11 +40,15 @@ # fix FS#45229, merged upstream patch -Np1 -i ../0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch patch -Np1 -i
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Tuesday, April 14, 2015 @ 12:41:30 Author: lcarlier Revision: 236527 upgpkg: xorg-server 1.17.1-5 fix FS#43937 Added: xorg-server/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch Modified: xorg-server/trunk/PKGBUILD -+ 0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch | 42 ++ PKGBUILD| 10 +- 2 files changed, 49 insertions(+), 3 deletions(-) Added: 0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch === --- 0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch (rev 0) +++ 0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch 2015-04-14 10:41:30 UTC (rev 236527) @@ -0,0 +1,42 @@ +From 41932dfbc841a1adc6512d41085ea3f8ebecb42c Mon Sep 17 00:00:00 2001 +From: Keith Packard kei...@keithp.com +Date: Wed, 8 Apr 2015 07:45:28 -0700 +Subject: [PATCH] mi: Partial pie-slice filled arcs may need more space for + spans + +The mi filled arc code estimates that a filled arc will produce no +more spans than the arc is tall. This is true for most arcs except +for pie-slice arcs strictly between 180 and 360 degrees where the missing +portion of the arc faces up or down such that we get two spans on some +scanlines. + +For those, we need to reserve room for another height/2 spans. This +patch just does it for all partial pie-sliced arcs to make the test +easier to understand; it's just over-allocating a bit of memory, so +that's safe. + +Signed-off-by: Keith Packard kei...@keithp.com +Reviewed-by: Adam Jackson a...@redhat.com +--- + mi/mifillarc.c | 5 + + 1 file changed, 5 insertions(+) + +diff --git a/mi/mifillarc.c b/mi/mifillarc.c +index 246d70f..888519e 100644 +--- a/mi/mifillarc.c b/mi/mifillarc.c +@@ -660,6 +660,11 @@ miPolyFillArc(DrawablePtr pDraw, GCPtr pGC, int narcs_all, xArc * parcs) + if (narcs nspans + arc-height MAX_SPANS_PER_LOOP) + break; + nspans += arc-height; ++ ++/* A pie-slice arc may add another pile of spans */ ++if (pGC-arcMode == ArcPieSlice ++(-FULLCIRCLE arc-angle2 arc-angle2 FULLCIRCLE)) ++nspans += (arc-height + 1) 1; + } + + pts = points = malloc (sizeof (DDXPointRec) * nspans + +-- +2.3.5 + Modified: PKGBUILD === --- PKGBUILD2015-04-14 10:26:17 UTC (rev 236526) +++ PKGBUILD2015-04-14 10:41:30 UTC (rev 236527) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.1 -pkgrel=4 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild +pkgrel=5 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -22,7 +22,8 @@ xvfb-run.1 os-access-fix-regression-in-server-interpreted-auth.patch v2-xserver-Fix-a-crash-with-XDMCP-error-handler.patch -0001-int10-Fix-error-check-for-pci_device_map_legacy.patch) +0001-int10-Fix-error-check-for-pci_device_map_legacy.patch +0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011') sha256sums=('2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab' @@ -32,7 +33,8 @@ '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '8a9d76eecf8795ca645fb1ce261733965578e953f6606153ce001a0e15d036e8' 'a73e33644682d9f430db987c192da0f7193907af50539669ebd59614a5ebd0f9' -'2ea82cdbd695f21c935710847913ed58e22d3d5c0c18c96175a4a6cc1142c071') +'2ea82cdbd695f21c935710847913ed58e22d3d5c0c18c96175a4a6cc1142c071' +'ca89cc013844c5b50abfde4cc5e852ecdf4368f8b069ffd069a7100843c46e90') prepare() { cd ${pkgbase}-${pkgver} @@ -42,6 +44,8 @@ patch -Np1 -i ../v2-xserver-Fix-a-crash-with-XDMCP-error-handler.patch # fix FS#43924, merged upstream patch -Np1 -i ../0001-int10-Fix-error-check-for-pci_device_map_legacy.patch + # fix FS#43937, merged upstream + patch -Np1 -i ../0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch } build() {
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Saturday, March 14, 2015 @ 19:51:11 Author: lcarlier Revision: 233821 upgpkg: xorg-server 1.17.1-4 fix FS#43924 Added: xorg-server/trunk/0001-int10-Fix-error-check-for-pci_device_map_legacy.patch Modified: xorg-server/trunk/PKGBUILD + 0001-int10-Fix-error-check-for-pci_device_map_legacy.patch | 47 +++ PKGBUILD | 10 +- 2 files changed, 54 insertions(+), 3 deletions(-) Added: 0001-int10-Fix-error-check-for-pci_device_map_legacy.patch === --- 0001-int10-Fix-error-check-for-pci_device_map_legacy.patch (rev 0) +++ 0001-int10-Fix-error-check-for-pci_device_map_legacy.patch 2015-03-14 18:51:11 UTC (rev 233821) @@ -0,0 +1,47 @@ +From 0a78b599b34cc8b5fe6fe82f90e90234e8ab7a56 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=BCrg=20Billeter?= j...@bitron.ch +Date: Sat, 7 Feb 2015 18:13:21 +0100 +Subject: [PATCH] int10: Fix error check for pci_device_map_legacy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +pci_device_map_legacy returns 0 on success. + +Signed-off-by: Jürg Billeter j...@bitron.ch +Reviewed-by: Adam Jackson a...@redhat.com +Signed-off-by: Peter Hutterer peter.hutte...@who-t.net +--- + hw/xfree86/int10/generic.c| 2 +- + hw/xfree86/os-support/linux/int10/linux.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c +index 012d194..8d5c4da 100644 +--- a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c +@@ -104,7 +104,7 @@ readIntVec(struct pci_device *dev, unsigned char *buf, int len) + { + void *map; + +-if (!pci_device_map_legacy(dev, 0, len, 0, map)) ++if (pci_device_map_legacy(dev, 0, len, 0, map)) + return FALSE; + + memcpy(buf, map, len); +diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c +index 79b9a88..6ca118f 100644 +--- a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c +@@ -75,7 +75,7 @@ readLegacy(struct pci_device *dev, unsigned char *buf, int base, int len) + { + void *map; + +-if (!pci_device_map_legacy(dev, base, len, 0, map)) ++if (pci_device_map_legacy(dev, base, len, 0, map)) + return FALSE; + + memcpy(buf, map, len); +-- +2.3.2 + Modified: PKGBUILD === --- PKGBUILD2015-03-14 18:38:58 UTC (rev 233820) +++ PKGBUILD2015-03-14 18:51:11 UTC (rev 233821) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') pkgver=1.17.1 -pkgrel=3 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild +pkgrel=4 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -21,7 +21,8 @@ xvfb-run xvfb-run.1 os-access-fix-regression-in-server-interpreted-auth.patch -v2-xserver-Fix-a-crash-with-XDMCP-error-handler.patch) +v2-xserver-Fix-a-crash-with-XDMCP-error-handler.patch +0001-int10-Fix-error-check-for-pci_device_map_legacy.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A690011') sha256sums=('2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab' @@ -30,7 +31,8 @@ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '8a9d76eecf8795ca645fb1ce261733965578e953f6606153ce001a0e15d036e8' -'a73e33644682d9f430db987c192da0f7193907af50539669ebd59614a5ebd0f9') +'a73e33644682d9f430db987c192da0f7193907af50539669ebd59614a5ebd0f9' +'2ea82cdbd695f21c935710847913ed58e22d3d5c0c18c96175a4a6cc1142c071') prepare() { cd ${pkgbase}-${pkgver} @@ -38,6 +40,8 @@ patch -Np1 -i ../os-access-fix-regression-in-server-interpreted-auth.patch # partially fix FS#43867, not yet upstream patch -Np1 -i ../v2-xserver-Fix-a-crash-with-XDMCP-error-handler.patch + # fix FS#43924, merged upstream + patch -Np1 -i ../0001-int10-Fix-error-check-for-pci_device_map_legacy.patch } build() {
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, November 1, 2013 @ 17:15:19 Author: andyrtr Revision: 198666 upgpkg: xorg-server 1.14.4-1 upstream update 1.14.4 Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch -+ 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch | 76 -- PKGBUILD| 24 --- 2 files changed, 4 insertions(+), 96 deletions(-) Deleted: 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch === --- 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch 2013-11-01 16:09:51 UTC (rev 198665) +++ 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch 2013-11-01 16:15:19 UTC (rev 198666) @@ -1,76 +0,0 @@ -From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith alan.coopersm...@oracle.com -Date: Mon, 16 Sep 2013 21:47:16 -0700 -Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText() - [CVE-2013-4396] - -Save a pointer to the passed in closure structure before copying it -and overwriting the *c pointer to point to our copy instead of the -original. If we hit an error, once we free(c), reset c to point to -the original structure before jumping to the cleanup code that -references *c. - -Since one of the errors being checked for is whether the server was -able to malloc(c-nChars * itemSize), the client can potentially pass -a number of characters chosen to cause the malloc to fail and the -error path to be taken, resulting in the read from freed memory. - -Since the memory is accessed almost immediately afterwards, and the -X server is mostly single threaded, the odds of the free memory having -invalid contents are low with most malloc implementations when not using -memory debugging features, but some allocators will definitely overwrite -the memory there, leading to a likely crash. - -Reported-by: Pedro Ribeiro ped...@gmail.com -Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com -Reviewed-by: Julien Cristau jcris...@debian.org - dix/dixfonts.c |5 + - 1 file changed, 5 insertions(+) - -diff --git a/dix/dixfonts.c b/dix/dixfonts.c -index feb765d..2e34d37 100644 a/dix/dixfonts.c -+++ b/dix/dixfonts.c -@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - GC *pGC; - unsigned char *data; - ITclosurePtr new_closure; -+ITclosurePtr old_closure; - - /* We're putting the client to sleep. We need to -save some state. Similar problem to that handled -@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c) - err = BadAlloc; - goto bail; - } -+old_closure = c; - *new_closure = *c; - c = new_closure; - - data = malloc(c-nChars * itemSize); - if (!data) { - free(c); -+c = old_closure; - err = BadAlloc; - goto bail; - } -@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - if (!pGC) { - free(c-data); - free(c); -+c = old_closure; - err = BadAlloc; - goto bail; - } -@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - FreeScratchGC(pGC); - free(c-data); - free(c); -+c = old_closure; - err = BadAlloc; - goto bail; - } --- -1.7.9.2 - Modified: PKGBUILD === --- PKGBUILD2013-11-01 16:09:51 UTC (rev 198665) +++ PKGBUILD2013-11-01 16:15:19 UTC (rev 198666) @@ -4,8 +4,8 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.14.3 -pkgrel=2 +pkgver=1.14.4 +pkgrel=1 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -22,9 +22,8 @@ xvfb-run xvfb-run.1 10-quirks.conf -fb-rename-wfbDestroyGlyphCache.patch - 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch) -sha256sums=('02125ae13a443dcbb55f964d5c37f1da2f58ad54c2102356037bec23c1b84f5e' +fb-rename-wfbDestroyGlyphCache.patch) +sha256sums=('608ccfaafb845f6e559884a30f946d365209172416710d687b190e9e1ff65dc3' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' 'e033f9bcc21980f7f0428e6ed6c362a3d55ad293b05fd6e6c6c1933b86f9e63a' @@ -54,10 +53,6 @@ #
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Tuesday, October 8, 2013 @ 22:54:41 Author: lcarlier Revision: 196225 upgpkg: xorg-server 1.14.3-2 Fix CVE-2013-4396 Added: xorg-server/trunk/0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch Modified: xorg-server/trunk/PKGBUILD -+ 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch | 76 ++ PKGBUILD| 21 ++ 2 files changed, 95 insertions(+), 2 deletions(-) Added: 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch === --- 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch (rev 0) +++ 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch 2013-10-08 20:54:41 UTC (rev 196225) @@ -0,0 +1,76 @@ +From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith alan.coopersm...@oracle.com +Date: Mon, 16 Sep 2013 21:47:16 -0700 +Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText() + [CVE-2013-4396] + +Save a pointer to the passed in closure structure before copying it +and overwriting the *c pointer to point to our copy instead of the +original. If we hit an error, once we free(c), reset c to point to +the original structure before jumping to the cleanup code that +references *c. + +Since one of the errors being checked for is whether the server was +able to malloc(c-nChars * itemSize), the client can potentially pass +a number of characters chosen to cause the malloc to fail and the +error path to be taken, resulting in the read from freed memory. + +Since the memory is accessed almost immediately afterwards, and the +X server is mostly single threaded, the odds of the free memory having +invalid contents are low with most malloc implementations when not using +memory debugging features, but some allocators will definitely overwrite +the memory there, leading to a likely crash. + +Reported-by: Pedro Ribeiro ped...@gmail.com +Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com +Reviewed-by: Julien Cristau jcris...@debian.org +--- + dix/dixfonts.c |5 + + 1 file changed, 5 insertions(+) + +diff --git a/dix/dixfonts.c b/dix/dixfonts.c +index feb765d..2e34d37 100644 +--- a/dix/dixfonts.c b/dix/dixfonts.c +@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + GC *pGC; + unsigned char *data; + ITclosurePtr new_closure; ++ITclosurePtr old_closure; + + /* We're putting the client to sleep. We need to +save some state. Similar problem to that handled +@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c) + err = BadAlloc; + goto bail; + } ++old_closure = c; + *new_closure = *c; + c = new_closure; + + data = malloc(c-nChars * itemSize); + if (!data) { + free(c); ++c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + if (!pGC) { + free(c-data); + free(c); ++c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + FreeScratchGC(pGC); + free(c-data); + free(c); ++c = old_closure; + err = BadAlloc; + goto bail; + } +-- +1.7.9.2 + Modified: PKGBUILD === --- PKGBUILD2013-10-08 20:28:33 UTC (rev 196224) +++ PKGBUILD2013-10-08 20:54:41 UTC (rev 196225) @@ -5,7 +5,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') pkgver=1.14.3 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -23,7 +23,8 @@ xvfb-run xvfb-run.1 10-quirks.conf -fb-rename-wfbDestroyGlyphCache.patch) +fb-rename-wfbDestroyGlyphCache.patch + 0001-Avoid-use-after-free-in-dix-dixfonts.c-doImageText-C.patch) sha256sums=('02125ae13a443dcbb55f964d5c37f1da2f58ad54c2102356037bec23c1b84f5e' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' @@ -54,7 +55,12 @@ # http://cgit.freedesktop.org/xorg/xserver/commit/fb/wfbrename.h?id=5047810a4c20fab444b8c6eb146c55dcdb0d4219 patch -Np1 -i ../fb-rename-wfbDestroyGlyphCache.patch + + # CVE-2013-4396: Use after free in
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Friday, October 19, 2012 @ 10:00:03 Author: andyrtr Revision: 169327 upgpkg: xorg-server 1.13.0-3 fix multiscreen mouse issues - FS#31959 Added: xorg-server/trunk/0001-dix-fix-zaphod-screen-scrossing-54654.patch Modified: xorg-server/trunk/PKGBUILD --+ 0001-dix-fix-zaphod-screen-scrossing-54654.patch | 42 + PKGBUILD | 11 - 2 files changed, 50 insertions(+), 3 deletions(-) Added: 0001-dix-fix-zaphod-screen-scrossing-54654.patch === --- 0001-dix-fix-zaphod-screen-scrossing-54654.patch (rev 0) +++ 0001-dix-fix-zaphod-screen-scrossing-54654.patch2012-10-19 14:00:03 UTC (rev 169327) @@ -0,0 +1,42 @@ +From 29d84d5a7ca4cc12cce47de9313adeb8554fb894 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer peter.hutte...@who-t.net +Date: Thu, 18 Oct 2012 15:11:31 +1000 +Subject: [PATCH] dix: fix zaphod screen scrossing (#54654) + +POINTER_SCREEN coordinates are screen-relative. For a Zaphod setup, the +coordinates after a screen crossing are already relative to the new screen's +origin. Add that offset to the coordinates before re-setting. + +regression introduced by +commit bafbd99080be49a17be97d2cc758fbe623369945 +Author: Peter Hutterer peter.hutte...@who-t.net +Date: Wed Aug 8 11:34:32 2012 +1000 + +dix: work around scaling issues during WarpPointer (#53037) + +X.Org Bug 54654 http://bugs.freedesktop.org/show_bug.cgi?id=54654 + +Signed-off-by: Peter Hutterer peter.hutte...@who-t.net +--- + dix/getevents.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/dix/getevents.c b/dix/getevents.c +index 71d83c4..8b4379d 100644 +--- a/dix/getevents.c b/dix/getevents.c +@@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, +coordinates were. + */ + if (flags POINTER_SCREEN) { +-screenx = sx; +-screeny = sy; ++scr = miPointerGetScreen(pDev); ++screenx = sx + scr-x; ++screeny = sy + scr-y; + } + + scr = positionSprite(pDev, (flags POINTER_ABSOLUTE) ? Absolute : Relative, +-- +1.7.11.7 + Modified: PKGBUILD === --- PKGBUILD2012-10-19 13:28:47 UTC (rev 169326) +++ PKGBUILD2012-10-19 14:00:03 UTC (rev 169327) @@ -4,7 +4,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') pkgver=1.13.0 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -18,13 +18,15 @@ autoconfig-sis.patch xvfb-run xvfb-run.1 -10-quirks.conf) +10-quirks.conf +0001-dix-fix-zaphod-screen-scrossing-54654.patch) sha256sums=('548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' -'94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166') +'94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166' +'23861814b4283ca3fe43aae6e88ee82bcbae5713bf88eabeaef7beb94efe9707') build() { cd ${srcdir}/${pkgbase}-${pkgver} @@ -35,6 +37,9 @@ # Use unofficial imedia SiS driver for supported SiS devices patch -Np0 -i ${srcdir}/autoconfig-sis.patch + # https://bugs.archlinux.org/task/31959 / https://bugs.freedesktop.org/show_bug.cgi?id=54654 + patch -Np1 -i ${srcdir}/0001-dix-fix-zaphod-screen-scrossing-54654.patch + autoreconf -fi ./configure --prefix=/usr \ --enable-ipv6 \
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Sunday, April 15, 2012 @ 06:02:51 Author: andyrtr Revision: 156177 upgpkg: xorg-server 1.12.1-2 add a testing patch to fix EXA issues with cairo 1.12 Added: xorg-server/trunk/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff Modified: xorg-server/trunk/PKGBUILD -+ EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff | 116 ++ PKGBUILD|9 2 files changed, 124 insertions(+), 1 deletion(-) Added: EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff === --- EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff (rev 0) +++ EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff 2012-04-15 10:02:51 UTC (rev 156177) @@ -0,0 +1,116 @@ +--- xorg-server-1.12.1/exa/exa_glyphs.c2012-03-30 04:57:25.0 +0200 xorg-server-1.12.1/exa_glyphs.c.new2012-04-15 11:48:51.683214230 +0200 +@@ -686,6 +686,7 @@ + PixmapPtr pMaskPixmap = 0; + PicturePtr pMask = NULL; + ScreenPtr pScreen = pDst-pDrawable-pScreen; ++ExaScreenPriv(pScreen); + int width = 0, height = 0; + int x, y; + int first_xOff = list-xOff, first_yOff = list-yOff; +@@ -697,7 +698,6 @@ + ExaGlyphBuffer buffer; + + if (maskFormat) { +-ExaScreenPriv(pScreen); + GCPtr pGC; + xRectangle rect; + +@@ -719,22 +719,20 @@ + maskFormat-depth, + CREATE_PIXMAP_USAGE_SCRATCH); + if (!pMaskPixmap) +-return; ++ goto fallback; + component_alpha = NeedsComponent(maskFormat-format); + pMask = CreatePicture(0, pMaskPixmap-drawable, + maskFormat, CPComponentAlpha, component_alpha, + serverClient, error); +-if (!pMask || +-(!component_alpha pExaScr-info-CheckComposite +- !(*pExaScr-info-CheckComposite) (PictOpAdd, pSrc, NULL, pMask))) ++(*pScreen-DestroyPixmap) (pMaskPixmap); ++ if (!pMask) ++ goto fallback; ++ ++ if (!component_alpha pExaScr-info-CheckComposite ++ !(*pExaScr-info-CheckComposite) (PictOpAdd, pSrc, NULL, pMask)) + { + PictFormatPtr argbFormat; + +-(*pScreen-DestroyPixmap) (pMaskPixmap); +- +-if (!pMask) +-return; +- + /* The driver can't seem to composite to a8, let's try argb (but + * without component-alpha) */ + FreePicture((pointer) pMask, (XID) 0); +@@ -748,15 +746,25 @@ + maskFormat-depth, + CREATE_PIXMAP_USAGE_SCRATCH); + if (!pMaskPixmap) +-return; ++ goto fallback; + + pMask = CreatePicture(0, pMaskPixmap-drawable, maskFormat, 0, 0, + serverClient, error); +-if (!pMask) { +-(*pScreen-DestroyPixmap) (pMaskPixmap); +-return; +-} ++(*pScreen-DestroyPixmap) (pMaskPixmap); ++ if (!pMask) ++ goto fallback; + } ++ ++ if (pExaScr-info-CheckComposite ++ (!(*pExaScr-info-CheckComposite) (PictOpAdd, pSrc, NULL, pMask) || ++ (!(*pExaScr-info-CheckComposite) (op, pSrc, pMask, pDst) ++(op != PictOpOver || ++ !(*pExaScr-info-CheckComposite) (PictOpOutReverse, pSrc, pMask, pDst) || ++ !(*pExaScr-info-CheckComposite) (PictOpOver, pSrc, pMask, pDst) { ++ FreePicture ((pointer) pMask, (XID) 0); ++ goto fallback; ++ } ++ + pGC = GetScratchGC(pMaskPixmap-drawable.depth, pScreen); + ValidateGC(pMaskPixmap-drawable, pGC); + rect.x = 0; +@@ -769,6 +777,13 @@ + y = -extents.y1; + } + else { ++ if (pExaScr-info-CheckComposite ++ !(*pExaScr-info-CheckComposite) (op, pSrc, NULL, pDst) ++ (op != PictOpOver || ++ !(*pExaScr-info-CheckComposite) (PictOpOutReverse, pSrc, NULL, pDst) || ++ !(*pExaScr-info-CheckComposite) (PictOpOver, pSrc, NULL, pDst))) ++ goto fallback; ++ + x = 0; + y = 0; + } +@@ -834,6 +849,10 @@ + xSrc + x - first_xOff, + ySrc + y - first_yOff, 0, 0, x, y, width, height); + FreePicture((pointer) pMask, (XID) 0); +-(*pScreen-DestroyPixmap) (pMaskPixmap); + } ++ ++return; ++ ++fallback: ++ExaCheckGlyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs); + } +--- xorg-server-1.12.1/exa/exa_render.c2012-03-30 04:57:25.0
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Sunday, January 29, 2012 @ 10:43:42 Author: andyrtr Revision: 147992 upgpkg: xorg-server 1.11.4-1 upstream update 1.11.4 Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/xserver-1.11.2-record-crasher.patch -+ PKGBUILD| 10 - xserver-1.11.2-record-crasher.patch | 241 -- 2 files changed, 2 insertions(+), 249 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-01-29 12:47:57 UTC (rev 147991) +++ PKGBUILD2012-01-29 15:43:42 UTC (rev 147992) @@ -3,7 +3,7 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.11.3 +pkgver=1.11.4 pkgrel=1 arch=('i686' 'x86_64') license=('custom') @@ -15,15 +15,13 @@ autoconfig-sis.patch revert-trapezoids.patch #git-fixes.patch -xserver-1.11.2-record-crasher.patch xvfb-run xvfb-run.1 10-quirks.conf) -md5sums=('a7194c437963627e1db0dd2d6c1a1984' +md5sums=('256325e9b17dff479d92bed97f6b0adb' '6c7e87d63ac4b535e19a80c89d0cf091' 'f8194638ca4872c2b0a67862a70bcebf' 'f6c84f4936f8e00abdfbd9fb4eda83fb' - '3f9de4dbfee2da90167192d8ca9eb2b4' '52fd3effd80d7bc6c1660d4ecf23d31c' '376c70308715cd2643f7bff936d9934b' 'd4f7dfc6be4ef4e2c6dd7632a9d88abe') @@ -43,10 +41,6 @@ # Add post-release patches from 1.11 branch # patch -Np1 -i ${srcdir}/git-fixes.patch - # From Fedora. - # Upstream URL: http://patchwork.freedesktop.org/patch/7866/ - patch -Np1 -i ${srcdir}/xserver-1.11.2-record-crasher.patch - autoreconf -fi ./configure --prefix=/usr \ --enable-ipv6 \ Deleted: xserver-1.11.2-record-crasher.patch === --- xserver-1.11.2-record-crasher.patch 2012-01-29 12:47:57 UTC (rev 147991) +++ xserver-1.11.2-record-crasher.patch 2012-01-29 15:43:42 UTC (rev 147992) @@ -1,241 +0,0 @@ -From patchwork Tue Nov 8 18:22:13 2011 -Content-Type: text/plain; charset=utf-8 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: Save major/minor opcodes in ClientRec for RecordAReply -Date: Tue, 08 Nov 2011 18:22:13 - -From: Keith Packard kei...@keithp.com -X-Patchwork-Id: 7866 -Message-Id: 1320776533-3120-1-git-send-email-kei...@keithp.com -To: xorg-de...@lists.freedesktop.org - -The record extension needs the major and minor opcodes in the reply -hook, but the request buffer may have been freed by the time the hook -is invoked. Saving the request major and minor codes as the request is -executed avoids fetching from the defunct request buffer. - -This patch also eliminates the public MinorOpcodeOfRequest function, -making it static to dispatch. Usages of that function have been -replaced with direct access to the new ClientRec field. - -Signed-off-by: Keith Packard kei...@keithp.com -Reviewed-by: Rami Ylimäki rami.ylim...@vincit.fi - -Here's what I was thinking of to fix this -- just record the major and -minor opcodes of the request in the ClientRec during Dispatch and then -using those fields in RecordAReply instead of fetching the discarded -request buffer. - -This is entirely untested; I don't know how to make the old code break. - - Xext/security.c |4 +--- - Xext/xselinux_hooks.c |4 ++-- - dix/dispatch.c| 31 ++- - dix/extension.c | 14 -- - include/dixstruct.h |1 + - include/extension.h |2 -- - record/record.c |8 +++- - 7 files changed, 29 insertions(+), 35 deletions(-) - -[ fedora: technically this is an ABI breaker since it's changing ClientRec, - but hopefully not in a way that matters. If it does matter, easiest thing - to do is have Record add a hook for XaceHookDispatch. - ajax ] - -diff --git a/Xext/security.c b/Xext/security.c -index 08d8158..b0d82ab 100644 a/Xext/security.c -+++ b/Xext/security.c -@@ -148,9 +148,7 @@ SecurityLabelInitial(void) - static _X_INLINE const char * - SecurityLookupRequestName(ClientPtr client) - { --int major = ((xReq *)client-requestBuffer)-reqType; --int minor = MinorOpcodeOfRequest(client); --return LookupRequestName(major, minor); -+return LookupRequestName(client-majorOp, client-minorOp); - } - - -diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c -index f1d8e5d..0d4c9ab 100644 a/Xext/xselinux_hooks.c -+++ b/Xext/xselinux_hooks.c -@@ -263,8 +263,8 @@ SELinuxAudit(void *auditdata, - if (client) { - REQUEST(xReq); - if (stuff) { -- major = stuff-reqType; -- minor = MinorOpcodeOfRequest(client); -+ major = client-majorOp; -+ minor = client-minorOp; - } - } - if (audit-id) -diff --git a/dix/dispatch.c b/dix/dispatch.c
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Saturday, December 17, 2011 @ 04:41:15 Author: andyrtr Revision: 145130 upgpkg: xorg-server 1.11.3-1 upstream update 1.11.3 Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch + PKGBUILD | 17 +- Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch | 31 --- 2 files changed, 5 insertions(+), 43 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-12-17 09:34:44 UTC (rev 145129) +++ PKGBUILD2011-12-17 09:41:15 UTC (rev 145130) @@ -3,8 +3,8 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.11.2 -pkgrel=2 +pkgver=1.11.3 +pkgrel=1 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; @@ -14,19 +14,16 @@ autoconfig-nvidia.patch autoconfig-sis.patch revert-trapezoids.patch -git-fixes.patch +#git-fixes.patch xserver-1.11.2-record-crasher.patch -Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch xvfb-run xvfb-run.1 10-quirks.conf) -md5sums=('8796fff441e5435ee36a72579008af24' +md5sums=('a7194c437963627e1db0dd2d6c1a1984' '6c7e87d63ac4b535e19a80c89d0cf091' 'f8194638ca4872c2b0a67862a70bcebf' 'f6c84f4936f8e00abdfbd9fb4eda83fb' - '6fb42ec979ecd6125b6599f54dc00d14' '3f9de4dbfee2da90167192d8ca9eb2b4' - '47f9b979fe38043b42ff866fd0d0' '52fd3effd80d7bc6c1660d4ecf23d31c' '376c70308715cd2643f7bff936d9934b' 'd4f7dfc6be4ef4e2c6dd7632a9d88abe') @@ -44,16 +41,12 @@ patch -Np1 -i ${srcdir}/revert-trapezoids.patch # Add post-release patches from 1.11 branch - patch -Np1 -i ${srcdir}/git-fixes.patch +# patch -Np1 -i ${srcdir}/git-fixes.patch # From Fedora. # Upstream URL: http://patchwork.freedesktop.org/patch/7866/ patch -Np1 -i ${srcdir}/xserver-1.11.2-record-crasher.patch - # From Fedora. - # Upstream URL: https://bugs.freedesktop.org/show_bug.cgi?id=42298 - patch -Np1 -i ${srcdir}/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch - autoreconf -fi ./configure --prefix=/usr \ --enable-ipv6 \ Deleted: Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch === --- Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch 2011-12-17 09:34:44 UTC (rev 145129) +++ Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch 2011-12-17 09:41:15 UTC (rev 145130) @@ -1,31 +0,0 @@ -From 97f2af5876dab0dfab06be735416f3fc950ed39e Mon Sep 17 00:00:00 2001 -From: Peter Hutterer peter.hutte...@who-t.net -Date: Thu, 27 Oct 2011 11:03:39 +1000 -Subject: [PATCH] Xi: allow passive keygrabs on the XIAll(Master)Devices fake - devices - -They don't have a KeyClassRec, but we must still allow passive grabs on -them. - -Signed-off-by: Peter Hutterer peter.hutte...@who-t.net -Tested-by: Bastien Nocera had...@hadess.net - Xi/exevents.c |2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/Xi/exevents.c b/Xi/exevents.c -index 053c76f..edf2c39 100644 a/Xi/exevents.c -+++ b/Xi/exevents.c -@@ -1495,7 +1495,7 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device, - rc = CheckGrabValues(client, param); - if (rc != Success) - return rc; --if (k == NULL) -+if ((dev-id != XIAllDevices dev-id != XIAllMasterDevices) k == NULL) - return BadMatch; - if (grabtype == GRABTYPE_XI) - { --- -1.7.7 -
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Monday, August 8, 2011 @ 03:39:56 Author: jgc Revision: 134867 Remove patch, this pattern is only used with -retro (FS#24514, https://bbs.archlinux.org/viewtopic.php?id=123369 Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/xorg-redhat-die-ugly-pattern-die-die-die.patch + PKGBUILD |6 -- xorg-redhat-die-ugly-pattern-die-die-die.patch | 16 2 files changed, 22 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-08-08 06:00:01 UTC (rev 134866) +++ PKGBUILD2011-08-08 07:39:56 UTC (rev 134867) @@ -11,19 +11,15 @@ makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util') options=('!libtool') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 -#git-fixes.patch bg-none-revert.patch xserver-1.10-pointer-barriers.patch -xorg-redhat-die-ugly-pattern-die-die-die.patch autoconfig-nvidia.patch xvfb-run xvfb-run.1 10-quirks.conf) sha1sums=('1699be5c0edeca553cfa3ee6caa228483465136b' - # '6dd2bcd9d8b17d1a50ed8c15eb1cba480558e695' '629c6d8d52126eab81ee1b72a9e4209535f8cb81' '1b95e91384a57d966428c7db98ed06f4cc562f91' - '0efcdf61bde3c0cd813072b94e2b30ab922775b9' 'f9328fd7bc931bb02c8909ecfcef35403de33782' 'c94f742d3f9cabf958ae58e4015d9dd185aabedc' '6838fc00ef4618c924a77e0fb03c05346080908a' @@ -31,8 +27,6 @@ build() { cd ${srcdir}/${pkgbase}-${pkgver} - # Get rid of the ugly pattern - patch -Np3 -i ${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch # Add pointer barrier support, patch from Fedora patch -Np1 -i ${srcdir}/xserver-1.10-pointer-barriers.patch Deleted: xorg-redhat-die-ugly-pattern-die-die-die.patch === --- xorg-redhat-die-ugly-pattern-die-die-die.patch 2011-08-08 06:00:01 UTC (rev 134866) +++ xorg-redhat-die-ugly-pattern-die-die-die.patch 2011-08-08 07:39:56 UTC (rev 134867) @@ -1,16 +0,0 @@ -Remove the default root window grey stipple pattern, replacing it with -blackness. - xc/programs/Xserver/dix/window.c.die-ugly-pattern-die-die-die Tue Feb 12 16:33:04 2002 -+++ xc/programs/Xserver/dix/window.c Tue Feb 12 16:45:32 2002 -@@ -119,8 +119,8 @@ - * - **/ - --static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11}; --static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88}; -+static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00}; -+static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00}; - - int screenIsSaved = SCREEN_SAVER_OFF; -
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Monday, August 8, 2011 @ 04:19:16 Author: jgc Revision: 134869 Prepare 1.10.3.901 release Added: xorg-server/trunk/randr-compare-all-the-bytes-in-rrpostpendingproperties.patch Modified: xorg-server/trunk/PKGBUILD --+ PKGBUILD | 14 ++- randr-compare-all-the-bytes-in-rrpostpendingproperties.patch | 36 ++ 2 files changed, 44 insertions(+), 6 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-08-08 07:57:41 UTC (rev 134868) +++ PKGBUILD2011-08-08 08:19:16 UTC (rev 134869) @@ -3,21 +3,23 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.10.3 -pkgrel=2 +pkgver=1.10.3.901 +pkgrel=1 arch=('i686' 'x86_64') license=('custom') url=http://xorg.freedesktop.org; makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util') options=('!libtool') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 +randr-compare-all-the-bytes-in-rrpostpendingproperties.patch bg-none-revert.patch xserver-1.10-pointer-barriers.patch autoconfig-nvidia.patch xvfb-run xvfb-run.1 10-quirks.conf) -sha1sums=('1699be5c0edeca553cfa3ee6caa228483465136b' +sha1sums=('c7b0d4a29adf91baeae4783841303ccf8ba285e2' + '571f2925f2f3d1b5cdbb2e5a676205fcea256198' '629c6d8d52126eab81ee1b72a9e4209535f8cb81' '1b95e91384a57d966428c7db98ed06f4cc562f91' 'f9328fd7bc931bb02c8909ecfcef35403de33782' @@ -27,6 +29,8 @@ build() { cd ${srcdir}/${pkgbase}-${pkgver} + # Upstream post-release commit + patch -Np1 -i ${srcdir}/randr-compare-all-the-bytes-in-rrpostpendingproperties.patch # Add pointer barrier support, patch from Fedora patch -Np1 -i ${srcdir}/xserver-1.10-pointer-barriers.patch @@ -34,9 +38,6 @@ # Patches from ~ajax/xserver xserver-next branch patch -Np1 -i ${srcdir}/bg-none-revert.patch - # Upstream fixes from 1.10 branch - #patch -Np1 -i ${srcdir}/git-fixes.patch - # Use nouveau/nv/nvidia drivers for nvidia devices patch -Np1 -i ${srcdir}/autoconfig-nvidia.patch @@ -67,6 +68,7 @@ --with-fontrootdir=/usr/share/fonts make + # Disable subdirs for make install rule to make splitting easier sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \ -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \ -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \ Added: randr-compare-all-the-bytes-in-rrpostpendingproperties.patch === --- randr-compare-all-the-bytes-in-rrpostpendingproperties.patch (rev 0) +++ randr-compare-all-the-bytes-in-rrpostpendingproperties.patch 2011-08-08 08:19:16 UTC (rev 134869) @@ -0,0 +1,36 @@ +From fa425363e3927e86d57f42c4b6e4995d26d6bd0c Mon Sep 17 00:00:00 2001 +From: Aaron Plattner aplatt...@nvidia.com +Date: Fri, 29 Jul 2011 23:12:06 + +Subject: randr: Compare all the bytes in RRPostPendingProperties + +RRPostPendingProperties tries to compare the pending and current +property values to decide whether they're actually changing. However, +it does this using a memcmp that passes in pending_value-size as the +number of bytes. This is actually the number of elements, where each +element is (pending_value-format / 8) bytes long. This causes the +pending value to not be propagated if the first pending_value-size +bytes are the same and only the end of it is changing. + +Fix this by computing the total number of bytes to compare in the +memcmp. + +Signed-off-by: Aaron Plattner aplatt...@nvidia.com +Reviewed-by: Keith Packard kei...@keithp.com +Signed-off-by: Keith Packard kei...@keithp.com +(cherry picked from commit 08dfff92e8d0c2b1726634392c147f6634d1706d) +--- +diff --git a/randr/rrproperty.c b/randr/rrproperty.c +index ba04c16..61e7bb4 100644 +--- a/randr/rrproperty.c b/randr/rrproperty.c +@@ -283,7 +283,7 @@ RRPostPendingProperties (RROutputPtr output) + pending_value-format == current_value-format + pending_value-size == current_value-size + !memcmp (pending_value-data, current_value-data, +- pending_value-size)) ++ pending_value-size * (pending_value-format / 8))) + continue; + + if (RRChangeOutputProperty (output, property-propertyName, +-- +cgit v0.8.3-6-g21f6
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, May 6, 2010 @ 03:41:34 Author: jgc Revision: 79682 upgpkg: xorg-server 1.8.0.902-1 Update to next RC. Remove patch applied upstream. Remove default fontpath configuration, should work fine with defaults Modified: xorg-server/trunk/PKGBUILD Deleted: xorg-server/trunk/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch --+ PKGBUILD | 14 revert-dri2-track-dri2-drawables-as-resources-not-privates.patch | 309 -- 2 files changed, 4 insertions(+), 319 deletions(-) Modified: PKGBUILD === --- PKGBUILD2010-05-05 17:36:51 UTC (rev 79681) +++ PKGBUILD2010-05-06 07:41:34 UTC (rev 79682) @@ -2,7 +2,7 @@ # Maintainer: Jan de Groot j...@archlinux.org pkgname=xorg-server -pkgver=1.8.0.901 +pkgver=1.8.0.902 pkgrel=1 pkgdesc=X.Org X servers arch=('i686' 'x86_64') @@ -22,15 +22,13 @@ xvfb-run xvfb-run.1 10-evdev.conf -10-quirks.conf -revert-dri2-track-dri2-drawables-as-resources-not-privates.patch) -md5sums=('5326bc5e84f2e3455321ab2baed26362' +10-quirks.conf) +md5sums=('1d77850a2258f9ee797bc00d12cc4b3e' '1a336eb22e27cbf443ec5a2ecddfa93c' '52fd3effd80d7bc6c1660d4ecf23d31c' '376c70308715cd2643f7bff936d9934b' 'e930e153d69968a795fe4e2ef5d9a5dc' - 'd4f7dfc6be4ef4e2c6dd7632a9d88abe' - 'f5b98d5ca8f098e0c75a5d7a0e7ef2a6') + 'd4f7dfc6be4ef4e2c6dd7632a9d88abe') build() { cd ${srcdir}/${pkgname}-${pkgver} @@ -38,9 +36,6 @@ # Get rid of the ugly pattern patch -Np3 -i ${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch || return 1 - # Fix a bug in 1.8.0.901 that has been fixed in git - patch -p1 -i ${srcdir}/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch || return 1 - sed -i -e 's/\$(prefix)\/etc/\/etc/g' config/Makefile.* || return 1 ./configure --prefix=/usr \ @@ -64,7 +59,6 @@ --disable-static \ --sysconfdir=/etc/X11 \ --localstatedir=/var \ - --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ --with-xkb-path=/usr/share/X11/xkb \ --with-xkb-output=/var/lib/xkb \ --with-dri-driver-path=/usr/lib/xorg/modules/dri || return 1 Deleted: revert-dri2-track-dri2-drawables-as-resources-not-privates.patch === --- revert-dri2-track-dri2-drawables-as-resources-not-privates.patch 2010-05-05 17:36:51 UTC (rev 79681) +++ revert-dri2-track-dri2-drawables-as-resources-not-privates.patch 2010-05-06 07:41:34 UTC (rev 79682) @@ -1,309 +0,0 @@ -From c394b17266301d363a9e234f58f8015f74e01307 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer peter.hutte...@who-t.net -Date: Tue, 27 Apr 2010 07:53:22 + -Subject: Revert DRI2: Track DRI2 drawables as resources, not privates - -This change breaks GLX compositing managers. -See Bug 27767 https://bugs.freedesktop.org/show_bug.cgi?id=27767 - -This reverts commit 0c499f2ee4ae2b7dc424009abb336fc81a8a2853. - -Signed-off-by: Peter Hutterer peter.hutte...@who-t.net -diff --git a/glx/glxdri2.c b/glx/glxdri2.c -index bde519a..edd29b0 100644 a/glx/glxdri2.c -+++ b/glx/glxdri2.c -@@ -105,6 +105,11 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable) - - (*core-destroyDrawable)(private-driDrawable); - -+/* If the X window was destroyed, the dri DestroyWindow hook will -+ * aready have taken care of this, so only call if pDraw isn't NULL. */ -+if (drawable-pDraw != NULL) -+ DRI2DestroyDrawable(drawable-pDraw); -+ - __glXDrawableRelease(drawable); - - xfree(private); -diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c -index 63bef28..48618e1 100644 a/hw/xfree86/dri2/dri2.c -+++ b/hw/xfree86/dri2/dri2.c -@@ -45,14 +45,15 @@ - - #include xf86.h - --static int dri2ScreenPrivateKeyIndex; -+static int dri2ScreenPrivateKeyIndex; - static DevPrivateKey dri2ScreenPrivateKey = dri2ScreenPrivateKeyIndex; --static RESTYPE dri2DrawableRes; -- --typedef struct _DRI2Screen *DRI2ScreenPtr; -+static int dri2WindowPrivateKeyIndex; -+static DevPrivateKey dri2WindowPrivateKey = dri2WindowPrivateKeyIndex; -+static int dri2PixmapPrivateKeyIndex; -+static DevPrivateKey dri2PixmapPrivateKey = dri2PixmapPrivateKeyIndex; - - typedef struct _DRI2Drawable { --DRI2ScreenPtrdri2_screen; -+unsigned int refCount; - intwidth; - intheight; - DRI2BufferPtr *buffers; -@@ -66,8 +67,9 @@ typedef struct _DRI2Drawable { - intswap_limit; /* for N-buffering */ - } DRI2DrawableRec, *DRI2DrawablePtr; - -+typedef struct _DRI2Screen
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, April 29, 2010 @ 04:41:53 Author: thomas Revision: 78871 Apply upstream git commit: Revert DRI2: Track DRI2 drawables as resources, not privates Added: xorg-server/trunk/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch Modified: xorg-server/trunk/PKGBUILD --+ PKGBUILD | 11 revert-dri2-track-dri2-drawables-as-resources-not-privates.patch | 309 ++ 2 files changed, 317 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2010-04-29 05:00:21 UTC (rev 78870) +++ PKGBUILD2010-04-29 08:41:53 UTC (rev 78871) @@ -22,20 +22,25 @@ xvfb-run xvfb-run.1 10-evdev.conf -10-quirks.conf) +10-quirks.conf +revert-dri2-track-dri2-drawables-as-resources-not-privates.patch) md5sums=('5326bc5e84f2e3455321ab2baed26362' '1a336eb22e27cbf443ec5a2ecddfa93c' '52fd3effd80d7bc6c1660d4ecf23d31c' '376c70308715cd2643f7bff936d9934b' 'e930e153d69968a795fe4e2ef5d9a5dc' - 'd4f7dfc6be4ef4e2c6dd7632a9d88abe') + 'd4f7dfc6be4ef4e2c6dd7632a9d88abe' + 'f5b98d5ca8f098e0c75a5d7a0e7ef2a6') build() { cd ${srcdir}/${pkgname}-${pkgver} # Get rid of the ugly pattern - patch -Np3 -i ${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch || return 1 + patch -Np3 -i ${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch || return 1 + # Fix a bug in 1.8.0.901 that has been fixed in git + patch -p1 -i ${srcdir}/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch || return 1 + sed -i -e 's/\$(prefix)\/etc/\/etc/g' config/Makefile.* || return 1 ./configure --prefix=/usr \ Added: revert-dri2-track-dri2-drawables-as-resources-not-privates.patch === --- revert-dri2-track-dri2-drawables-as-resources-not-privates.patch (rev 0) +++ revert-dri2-track-dri2-drawables-as-resources-not-privates.patch 2010-04-29 08:41:53 UTC (rev 78871) @@ -0,0 +1,309 @@ +From c394b17266301d363a9e234f58f8015f74e01307 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer peter.hutte...@who-t.net +Date: Tue, 27 Apr 2010 07:53:22 + +Subject: Revert DRI2: Track DRI2 drawables as resources, not privates + +This change breaks GLX compositing managers. +See Bug 27767 https://bugs.freedesktop.org/show_bug.cgi?id=27767 + +This reverts commit 0c499f2ee4ae2b7dc424009abb336fc81a8a2853. + +Signed-off-by: Peter Hutterer peter.hutte...@who-t.net +--- +diff --git a/glx/glxdri2.c b/glx/glxdri2.c +index bde519a..edd29b0 100644 +--- a/glx/glxdri2.c b/glx/glxdri2.c +@@ -105,6 +105,11 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable) + + (*core-destroyDrawable)(private-driDrawable); + ++/* If the X window was destroyed, the dri DestroyWindow hook will ++ * aready have taken care of this, so only call if pDraw isn't NULL. */ ++if (drawable-pDraw != NULL) ++ DRI2DestroyDrawable(drawable-pDraw); ++ + __glXDrawableRelease(drawable); + + xfree(private); +diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c +index 63bef28..48618e1 100644 +--- a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c +@@ -45,14 +45,15 @@ + + #include xf86.h + +-static int dri2ScreenPrivateKeyIndex; ++static int dri2ScreenPrivateKeyIndex; + static DevPrivateKey dri2ScreenPrivateKey = dri2ScreenPrivateKeyIndex; +-static RESTYPE dri2DrawableRes; +- +-typedef struct _DRI2Screen *DRI2ScreenPtr; ++static int dri2WindowPrivateKeyIndex; ++static DevPrivateKey dri2WindowPrivateKey = dri2WindowPrivateKeyIndex; ++static int dri2PixmapPrivateKeyIndex; ++static DevPrivateKey dri2PixmapPrivateKey = dri2PixmapPrivateKeyIndex; + + typedef struct _DRI2Drawable { +-DRI2ScreenPtrdri2_screen; ++unsigned int refCount; + intwidth; + intheight; + DRI2BufferPtr *buffers; +@@ -66,8 +67,9 @@ typedef struct _DRI2Drawable { + intswap_limit; /* for N-buffering */ + } DRI2DrawableRec, *DRI2DrawablePtr; + ++typedef struct _DRI2Screen *DRI2ScreenPtr; ++ + typedef struct _DRI2Screen { +-ScreenPtr screen; + unsigned int numDrivers; + const char**driverNames; + const char*deviceName; +@@ -93,33 +95,43 @@ DRI2GetScreen(ScreenPtr pScreen) + static DRI2DrawablePtr + DRI2GetDrawable(DrawablePtr pDraw) + { +-DRI2DrawablePtr pPriv; +-int rc; +- +-rc = dixLookupResourceByType((pointer *) pPriv, pDraw-id, +- dri2DrawableRes, NULL, DixReadAccess); +-if (rc != Success) ++WindowPtr pWin; ++PixmapPtr pPixmap; ++ ++if
[arch-commits] Commit in xorg-server/trunk (2 files)
Date: Thursday, November 5, 2009 @ 16:14:47 Author: jgc Revision: 58188 Add patch from redhat to fix crashes. Don't release a package with this yet, as other issues have been reported. Add conflicts to current versions of nvidia-96xx and 17xx drivers, they don't work with this version Added: xorg-server/trunk/xserver-1.7.1-window-pictures.patch Modified: xorg-server/trunk/PKGBUILD -+ PKGBUILD| 11 +-- xserver-1.7.1-window-pictures.patch | 50 ++ 2 files changed, 58 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2009-11-05 21:05:26 UTC (rev 58187) +++ PKGBUILD2009-11-05 21:14:47 UTC (rev 58188) @@ -3,7 +3,7 @@ pkgname=xorg-server pkgver=1.7.1 -pkgrel=1 +pkgrel=2 pkgdesc=X.Org X servers arch=('i686' 'x86_64') license=('custom') @@ -11,18 +11,19 @@ depends=('hal=0.5.13' 'libgl' 'libxfont=1.4.1' 'openssl=0.9.8k' 'libpciaccess=0.10.9' 'libxv=1.0.5' 'pixman=0.16.2' 'xcursor-themes=1.0.2' 'xkeyboard-config=1.6' 'xorg-server-utils' 'xorg-fonts-misc' 'xbitmaps' 'diffutils' 'xf86-input-evdev=2.2.5' 'inputproto=2.0-1') makedepends=('libx11=1.3' 'mesa=7.6' 'xf86driproto=2.1.0' 'xtrans=1.2.4' 'libxkbfile=1.0.6' 'randrproto=1.3.1' 'renderproto=0.11' 'xcmiscproto=1.2.0' 'bigreqsproto=1.1.0' 'resourceproto=1.1.0' 'videoproto=2.3.0' 'compositeproto=0.4.1' 'scrnsaverproto=1.2.0' 'xf86dgaproto=2.1' 'recordproto=1.14' 'libgl=7.6' 'glproto=1.4.10' 'xorg-util-macros=1.3.0' 'xineramaproto=1.2') conflicts=('catalyst-utils=9.2' 'xf86-input-calcomp' 'xf86-input-citron' 'xf86-input-digitaledge' 'xf86-input-dmc' 'xf86-input-dynapro' 'xf86-input-elo2300' - 'xf86-input-jamstudio' 'xf86-input-magellan' 'xf86-input-magictouch' 'xf86-input-microtouch' 'xf86-input-palmax' 'xf86-input-spaceorb' - 'xf86-input-summa' 'xf86-input-tek4957' 'xf86-input-ur98' 'xf86-video-vga' 'xf86-video-intel-legacy') + 'xf86-input-jamstudio' 'xf86-input-magellan' 'xf86-input-magictouch' 'xf86-input-microtouch' 'xf86-input-palmax' 'xf86-input-spaceorb' 'xf86-input-summa' 'xf86-input-tek4957' 'xf86-input-ur98' 'xf86-video-vga' 'xf86-video-intel-legacy' 'nvidia-96xx-utils96.43.14' 'nvidia-173xx-utils173.14.21') options=('!libtool') provides=('x-server') groups=('xorg') install=xorg-server.install source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2 xorg-redhat-die-ugly-pattern-die-die-die.patch +xserver-1.7.1-window-pictures.patch xvfb-run xvfb-run.1) md5sums=('dda7842467cda6018fdc87e6002e4db1' '1a336eb22e27cbf443ec5a2ecddfa93c' + '91ab84008196095d04530d170cc0f846' '52fd3effd80d7bc6c1660d4ecf23d31c' '376c70308715cd2643f7bff936d9934b') @@ -33,6 +34,10 @@ # Fixes from http://wiki.x.org/wiki/Server17Branch + # http://cvs.fedora.redhat.com/viewvc/rpms/xorg-x11-server/F-12/xserver-1.7.1-window-pictures.patch?view=log + # rev 1.3 + patch -Np1 -i ${srcdir}/xserver-1.7.1-window-pictures.patch || return 1 + # Fix dbus config path sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1 Added: xserver-1.7.1-window-pictures.patch === --- xserver-1.7.1-window-pictures.patch (rev 0) +++ xserver-1.7.1-window-pictures.patch 2009-11-05 21:14:47 UTC (rev 58188) @@ -0,0 +1,50 @@ +From 7d1378e2631e0d400943d2d05b5b79a3c631a12f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= sandm...@redhat.com +Date: Wed, 4 Nov 2009 07:46:05 -0500 +Subject: [PATCH] fb: Use fb functions to copy the window to a temporary pixmap. + +Previously, it would use the screen ops, but this meant that the new +pixmap would be created by the DDX and then immediately accessed by +software fallbacks without the DDX having a chance to map the drawable +correctly. + +Instead, use fbCreatePixmap() and fbCopyArea() directly, without going +through the DDX hooks. +--- + fb/fbpict.c |6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/fb/fbpict.c b/fb/fbpict.c +index 2fbef15..b9fe32a 100644 +--- a/fb/fbpict.c b/fb/fbpict.c +@@ -280,7 +280,7 @@ copy_drawable (DrawablePtr pDraw) + width = pDraw-width; + height = pDraw-height; + +-pPixmap = (*pScreen-CreatePixmap) (pScreen, width, height, pDraw-depth, 0); ++pPixmap = fbCreatePixmap (pScreen, width, height, pDraw-depth, 0); + + if (!pPixmap) + return NULL; +@@ -289,7 +289,7 @@ copy_drawable (DrawablePtr pDraw) + + if (!pGC) + { +- (*pScreen-DestroyPixmap) (pPixmap); ++ fbDestroyPixmap (pPixmap); + return NULL; + } + +@@ -302,7 +302,7 @@ copy_drawable (DrawablePtr pDraw) + + /* Then copy the window there */ + ValidateGC(pPixmap-drawable, pGC); +-(*