Xi/exevents.c | 22 +-- Xi/xichangehierarchy.c | 6 composite/compalloc.c | 6 composite/compint.h | 2 composite/compwindow.c | 9 - configure.ac | 6 debian/changelog | 72 ++++++++++ debian/control | 51 ------- debian/patches/02_kbsd-input-devd.diff | 72 ++++------ debian/rules | 218 +++++++-------------------------- dix/Makefile.am | 4 dix/dispatch.c | 10 + dix/getevents.c | 5 glamor/glamor.c | 11 + glamor/glamor_egl.c | 4 glamor/glamor_egl.h | 6 hw/xfree86/common/xf86AutoConfig.c | 9 + hw/xfree86/common/xf86Option.c | 2 hw/xfree86/modes/xf86EdidModes.c | 5 hw/xfree86/parser/read.c | 16 ++ hw/xfree86/parser/xf86Parser.h | 1 hw/xwayland/xwayland-input.c | 25 ++- include/dixstruct.h | 6 miext/damage/damage.c | 121 +++++++++--------- os/Makefile.am | 4 os/WaitFor.c | 4 os/connection.c | 4 present/present.c | 5 randr/rrcrtc.c | 10 + randr/rrprovider.c | 3 randr/rrxinerama.c | 7 + test/Makefile.am | 4 32 files changed, 358 insertions(+), 372 deletions(-)
New commits: commit 44be511f0cf112685d58b6ab8c3265996a74d087 Author: Timo Aaltonen <[email protected]> Date: Thu Feb 9 12:56:27 2017 +0200 update changelog diff --git a/debian/changelog b/debian/changelog index b611f08..3040520 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,33 @@ +xorg-server (2:1.19.1-4ubuntu1) UNRELEASED; urgency=medium + + [ Timo Aaltonen ] + * Merge from Debian experimental. + - Patches refreshed + - randr-adjust-masters-last-set-time.diff, + modesetting-unifdef-slave-support.diff: Dropped, upstream + - config-add-no-removal.patch, xf86-inactive-gpuscreen.patch, + fix-detach-gpu.patch: Dropped, more or less obsolete + * 190_cache-xkbcomp_output_for_fast_start_up.patch: Cleaned up from + the package as it wasn't used. + * 111_armel-drv-fallbacks.patch: Dropped, we don't ship these drivers + anymore. + * rules: Drop the workaround that adds lt_cv_prog_compiler_static_works=no + to confflags. + * 232-xf86compatoutput-valgrind.patch: This was added upstream + already, no need to carry a duplicate check. + * xmir.patch: Don't check for aiglx enable flag, dropped upstream. + * xmir-fixes.diff: Port to new glamor api. + + [ Robert Ancell ] + * debian/patches/xmir.patch: + * debian/patches/xmir-desktop-file-hint-flag.patch: + - Refresh + - Fix warnings when built against lp:mir/0.25 + - Support both Mir 0.24 and 0.25 client APIs + - Fix crashing on arm64 (LP: #1642297) + + -- Robert Ancell <[email protected]> Thu, 17 Nov 2016 15:25:26 +1300 + xorg-server (2:1.19.1-4) unstable; urgency=medium * rules: Only set the suid bit on Xorg.wrap when building arch:any @@ -60,36 +90,6 @@ xorg-server (2:1.19.0-2) unstable; urgency=medium -- Emilio Pozuelo Monfort <[email protected]> Wed, 23 Nov 2016 19:32:09 +0100 -xorg-server (2:1.19.0-1ubuntu1) UNRELEASED; urgency=medium - - [ Timo Aaltonen ] - * Merge from Debian experimental. - - Patches refreshed - - randr-adjust-masters-last-set-time.diff, - modesetting-unifdef-slave-support.diff: Dropped, upstream - - config-add-no-removal.patch, xf86-inactive-gpuscreen.patch, - fix-detach-gpu.patch: Dropped, more or less obsolete - * 190_cache-xkbcomp_output_for_fast_start_up.patch: Cleaned up from - the package as it wasn't used. - * 111_armel-drv-fallbacks.patch: Dropped, we don't ship these drivers - anymore. - * rules: Drop the workaround that adds lt_cv_prog_compiler_static_works=no - to confflags. - * 232-xf86compatoutput-valgrind.patch: This was added upstream - already, no need to carry a duplicate check. - * xmir.patch: Don't check for aiglx enable flag, dropped upstream. - * xmir-fixes.diff: Port to new glamor api. - - [ Robert Ancell ] - * debian/patches/xmir.patch: - * debian/patches/xmir-desktop-file-hint-flag.patch: - - Refresh - - Fix warnings when built against lp:mir/0.25 - - Support both Mir 0.24 and 0.25 client APIs - - Fix crashing on arm64 (LP: #1642297) - - -- Robert Ancell <[email protected]> Thu, 17 Nov 2016 15:25:26 +1300 - xorg-server (2:1.19.0-1) unstable; urgency=medium [ Andreas Boll ] commit 20be95b1f9111bac16740bb2907d0a2d421501c1 Author: Emilio Pozuelo Monfort <[email protected]> Date: Fri Jan 20 00:22:13 2017 +0100 Release to unstable diff --git a/debian/changelog b/debian/changelog index 4b7866a..d2f42f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xorg-server (2:1.19.1-4) UNRELEASED; urgency=medium +xorg-server (2:1.19.1-4) unstable; urgency=medium * rules: Only set the suid bit on Xorg.wrap when building arch:any packages. Thanks Julien Cristau. - -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 23:56:30 +0100 + -- Emilio Pozuelo Monfort <[email protected]> Fri, 20 Jan 2017 00:22:09 +0100 xorg-server (2:1.19.1-3) unstable; urgency=medium commit 86b9c211bb112efaf5af8c02ac9d8c36c2f22fad Author: Emilio Pozuelo Monfort <[email protected]> Date: Thu Jan 19 23:57:10 2017 +0100 Restrict the Xorg.wrap permissions to arch:any builds diff --git a/debian/changelog b/debian/changelog index d4f876d..4b7866a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.19.1-4) UNRELEASED; urgency=medium + + * rules: Only set the suid bit on Xorg.wrap when building arch:any + packages. Thanks Julien Cristau. + + -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 23:56:30 +0100 + xorg-server (2:1.19.1-3) unstable; urgency=medium * rules: Fix setting suid bit on Xorg.wrap. diff --git a/debian/rules b/debian/rules index a83d187..b6ef43e 100755 --- a/debian/rules +++ b/debian/rules @@ -260,7 +260,7 @@ abibumpcheck: debian/serverminver $(QUILT_STAMPFN) rm -f $(SERVERMINVER).new; \ fi -override_dh_fixperms: +override_dh_fixperms-arch: dh_fixperms chown root:root $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap chmod ug+s $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap commit a8bfc990827023d20ebd8a811f71081cdddf5cfd Author: Emilio Pozuelo Monfort <[email protected]> Date: Thu Jan 19 19:14:15 2017 +0100 Release to unstable diff --git a/debian/changelog b/debian/changelog index 23a4cfe..d4f876d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xorg-server (2:1.19.1-3) UNRELEASED; urgency=medium +xorg-server (2:1.19.1-3) unstable; urgency=medium * rules: Fix setting suid bit on Xorg.wrap. * rules: Don't ignore errors when setting the suid bit. - -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 11:14:40 +0100 + -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 19:14:06 +0100 xorg-server (2:1.19.1-2) unstable; urgency=medium commit ce08b96d15ce3ac15601807a1ca18c1313fad1c6 Author: Timo Aaltonen <[email protected]> Date: Thu Jan 19 14:41:06 2017 +0200 control: fix whitespace diff --git a/debian/control b/debian/control index 1ff914b..48f4bfa 100644 --- a/debian/control +++ b/debian/control @@ -393,7 +393,7 @@ Description: Xmir X server This package provides an X server running on top of Mir, using Mir input devices for input and forwarding either the root window or individual top-level windows as wayland surfaces. - + Package: xserver-xorg-xmir Architecture: all Depends: ${shlibs:Depends}, commit 7f734c21b8a6a8dc7c32b8cdb90d606fc381827e Author: Emilio Pozuelo Monfort <[email protected]> Date: Thu Jan 19 11:27:36 2017 +0100 Don't ignore errors when setting the suid bit diff --git a/debian/changelog b/debian/changelog index 235cdb6..23a4cfe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xorg-server (2:1.19.1-3) UNRELEASED; urgency=medium * rules: Fix setting suid bit on Xorg.wrap. + * rules: Don't ignore errors when setting the suid bit. -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 11:14:40 +0100 diff --git a/debian/rules b/debian/rules index 01b3513..a83d187 100755 --- a/debian/rules +++ b/debian/rules @@ -262,8 +262,8 @@ abibumpcheck: debian/serverminver $(QUILT_STAMPFN) override_dh_fixperms: dh_fixperms - -chown root:root $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap - -chmod ug+s $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap + chown root:root $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap + chmod ug+s $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap override_dh_install: dh_install --fail-missing commit 633c7a6a5945e70165e63e07f89d3f453a97d905 Author: Emilio Pozuelo Monfort <[email protected]> Date: Thu Jan 19 11:15:19 2017 +0100 Fix setting suid bit on Xorg.wrap diff --git a/debian/changelog b/debian/changelog index 9aea1cb..235cdb6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xorg-server (2:1.19.1-3) UNRELEASED; urgency=medium + + * rules: Fix setting suid bit on Xorg.wrap. + + -- Emilio Pozuelo Monfort <[email protected]> Thu, 19 Jan 2017 11:14:40 +0100 + xorg-server (2:1.19.1-2) unstable; urgency=medium * rules: Fix udeb regression from dh migration. Should also fix FTBFS diff --git a/debian/rules b/debian/rules index 40c92f5..01b3513 100755 --- a/debian/rules +++ b/debian/rules @@ -260,11 +260,13 @@ abibumpcheck: debian/serverminver $(QUILT_STAMPFN) rm -f $(SERVERMINVER).new; \ fi -override_dh_install: - dh_install --fail-missing +override_dh_fixperms: + dh_fixperms -chown root:root $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap -chmod ug+s $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap +override_dh_install: + dh_install --fail-missing install -d $(CURDIR)/debian/xserver-xorg-dev/usr/share/xserver-xorg # Extract only the major ABI version: abi_videodrv=`PKG_CONFIG_PATH=debian/tmp/main/usr/lib/pkgconfig pkg-config --variable=abi_videodrv xorg-server|cut -d . -f 1`; \ commit 40b6708afb2ba853a8a4479cfb38ea7635019e24 Author: Emilio Pozuelo Monfort <[email protected]> Date: Wed Jan 18 19:45:42 2017 +0100 Release to unstable diff --git a/debian/changelog b/debian/changelog index a5e280e..9aea1cb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.19.1-2) UNRELEASED; urgency=medium +xorg-server (2:1.19.1-2) unstable; urgency=medium * rules: Fix udeb regression from dh migration. Should also fix FTBFS on hurd and kfreebsd. commit b00aa5396f176ae929d9a75c6422ae62add464a7 Author: Andreas Boll <[email protected]> Date: Wed Jan 18 10:17:43 2017 +0100 rules: Remove unused vars config_backend_main and config_backend_udeb. diff --git a/debian/changelog b/debian/changelog index f60ee85..a5e280e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ xorg-server (2:1.19.1-2) UNRELEASED; urgency=medium * rules: Fix udeb regression from dh migration. Should also fix FTBFS on hurd and kfreebsd. * rules: Add --fail-missing to dh_install. + * rules: Remove unused vars config_backend_main and + config_backend_udeb. -- Andreas Boll <[email protected]> Wed, 18 Jan 2017 09:46:53 +0100 diff --git a/debian/rules b/debian/rules index d2af56f..40c92f5 100755 --- a/debian/rules +++ b/debian/rules @@ -131,7 +131,6 @@ confflags_main = \ --enable-xephyr \ --with-sha1=libgcrypt \ --enable-xcsecurity \ - $(config_backend_main) \ $(void) confflags_udeb = \ @@ -164,7 +163,6 @@ confflags_udeb = \ --disable-kdrive \ --disable-xephyr \ --with-sha1=libnettle \ - $(config_backend_udeb) \ $(void) %: commit 4cea7f948ec68f20d9dc1e0d97b91332c89a8791 Author: Andreas Boll <[email protected]> Date: Wed Jan 18 10:14:06 2017 +0100 rules: Add --fail-missing to dh_install. diff --git a/debian/changelog b/debian/changelog index a179cfe..f60ee85 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xorg-server (2:1.19.1-2) UNRELEASED; urgency=medium * rules: Fix udeb regression from dh migration. Should also fix FTBFS on hurd and kfreebsd. + * rules: Add --fail-missing to dh_install. -- Andreas Boll <[email protected]> Wed, 18 Jan 2017 09:46:53 +0100 diff --git a/debian/rules b/debian/rules index 038b5b5..d2af56f 100755 --- a/debian/rules +++ b/debian/rules @@ -221,8 +221,10 @@ override_dh_auto_install: rm -f debian/tmp/udeb/usr/lib/xorg/modules/libwfb.so rm -f debian/tmp/udeb/usr/lib/xorg/modules/libxf8_16bpp.so - # we don't ship these from the udeb build, reduce noise from dh_install - # --list-missing + # we don't ship these from the udeb build, needed for dh_install + # --fail-missing + rm -rf debian/tmp/udeb/var/lib/xkb/README.compiled + rm -rf debian/tmp/udeb/usr/bin/X rm -rf debian/tmp/udeb/usr/include rm -rf debian/tmp/udeb/usr/share/aclocal rm -rf debian/tmp/udeb/usr/share/man @@ -261,7 +263,7 @@ abibumpcheck: debian/serverminver $(QUILT_STAMPFN) fi override_dh_install: - dh_install + dh_install --fail-missing -chown root:root $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap -chmod ug+s $(CURDIR)/debian/xserver-xorg-legacy/usr/lib/xorg/Xorg.wrap commit 0f08c98a377e0b63c61304d5c7f9eb497ddcb526 Author: Andreas Boll <[email protected]> Date: Wed Jan 18 09:49:07 2017 +0100 rules: Fix udeb regression from dh migration. Should also fix FTBFS on hurd and kfreebsd. diff --git a/debian/changelog b/debian/changelog index 9150070..a179cfe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.19.1-2) UNRELEASED; urgency=medium + + * rules: Fix udeb regression from dh migration. Should also fix FTBFS + on hurd and kfreebsd. + + -- Andreas Boll <[email protected]> Wed, 18 Jan 2017 09:46:53 +0100 + xorg-server (2:1.19.1-1) unstable; urgency=medium [ Emilio Pozuelo Monfort ] diff --git a/debian/rules b/debian/rules index 782c076..038b5b5 100755 --- a/debian/rules +++ b/debian/rules @@ -233,11 +233,9 @@ override_dh_auto_install: ifneq ($(DEB_HOST_ARCH_OS), linux) install -d debian/tmp/main/usr/share/X11/xorg.conf.d install -m 644 debian/local/10-*.conf debian/tmp/main/usr/share/X11/xorg.conf.d -ifeq ($(udeb), yes) install -d debian/tmp/udeb/usr/share/X11/xorg.conf.d install -m 644 debian/local/10-*.conf debian/tmp/udeb/usr/share/X11/xorg.conf.d endif -endif # Only read the first line, the rest of the file is used to determine # when the minimal version is to be bumped: @@ -289,11 +287,9 @@ override_dh_install: ifeq ($(DEB_HOST_ARCH_OS), linux) install -d debian/xserver-xorg-core/lib/udev/rules.d install -m 644 debian/local/64-xorg-xkb.rules debian/xserver-xorg-core/lib/udev/rules.d -ifeq ($(udeb), yes) install -d debian/xserver-xorg-core-udeb/lib/udev/rules.d install -m 644 debian/local/64-xorg-xkb.rules debian/xserver-xorg-core-udeb/lib/udev/rules.d endif -endif override_dh_strip: dh_strip -pxserver-xorg-core --dbgsym-migration="xserver-xorg-core-dbg (<< 2:1.19.0-3~)" commit 94a832d0caca81cfb8ea045e787311cf49880cec Author: Emilio Pozuelo Monfort <[email protected]> Date: Tue Jan 17 20:43:40 2017 +0100 Release to unstable diff --git a/debian/changelog b/debian/changelog index 11438eb..9150070 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.19.1-1) UNRELEASED; urgency=medium +xorg-server (2:1.19.1-1) unstable; urgency=medium [ Emilio Pozuelo Monfort ] * Switch to dh. @@ -14,7 +14,7 @@ xorg-server (2:1.19.1-1) UNRELEASED; urgency=medium - present: Only call present_flip_notify if vblank->queued == FALSE (Closes: #849250). - -- Emilio Pozuelo Monfort <[email protected]> Mon, 19 Dec 2016 19:58:57 +0100 + -- Emilio Pozuelo Monfort <[email protected]> Tue, 17 Jan 2017 20:43:34 +0100 xorg-server (2:1.19.0-3) unstable; urgency=medium commit 8cb93829587c7c6ee5ca728827b598d3f9e26eb6 Author: Andreas Boll <[email protected]> Date: Thu Jan 12 11:32:31 2017 +0100 Close bugs fixed by the new upstream release. diff --git a/debian/changelog b/debian/changelog index 508c2ef..11438eb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,10 @@ xorg-server (2:1.19.1-1) UNRELEASED; urgency=medium [ Andreas Boll ] * New upstream release. + - AttendClient of grab-pervious client must queue to + saved_ready_clients [v2] (Closes: #846779, #850940). + - present: Only call present_flip_notify if vblank->queued == FALSE + (Closes: #849250). -- Emilio Pozuelo Monfort <[email protected]> Mon, 19 Dec 2016 19:58:57 +0100 commit c4900251dadb8284bb6590ea03973ca73159e29e Author: Andreas Boll <[email protected]> Date: Thu Jan 12 11:17:34 2017 +0100 Bump changelog diff --git a/debian/changelog b/debian/changelog index 6e2bd4b..508c2ef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,15 @@ -xorg-server (2:1.19.0-4) UNRELEASED; urgency=medium +xorg-server (2:1.19.1-1) UNRELEASED; urgency=medium + [ Emilio Pozuelo Monfort ] * Switch to dh. * Drop build-deps on automake and libtool, dh-autoreconf depends on them for us. * rules: use install consistently. * Drop pre-wheezy Breaks. + [ Andreas Boll ] + * New upstream release. + -- Emilio Pozuelo Monfort <[email protected]> Mon, 19 Dec 2016 19:58:57 +0100 xorg-server (2:1.19.0-3) unstable; urgency=medium commit 3830cd550a08de7d228dfe3150dea88c21a60b77 Author: Andreas Boll <[email protected]> Date: Thu Jan 12 10:56:17 2017 +0100 Revert "Bump debhelper compat to 10" This reverts commit 8a395effc9b55b828349a86f189d453d0b0138f3. Conflicts: debian/changelog Add build-dep on dh-autoreconf and explictly enable parallel build for compat 9. diff --git a/debian/changelog b/debian/changelog index 33a96f3..6e2bd4b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,6 @@ xorg-server (2:1.19.0-4) UNRELEASED; urgency=medium * Switch to dh. * Drop build-deps on automake and libtool, dh-autoreconf depends on them for us. - * Bump debhelper compat to 10. * rules: use install consistently. * Drop pre-wheezy Breaks. diff --git a/debian/compat b/debian/compat index f599e28..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -10 +9 diff --git a/debian/control b/debian/control index 8268068..fd230a5 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,8 @@ Section: x11 Priority: optional Maintainer: Debian X Strike Force <[email protected]> Build-Depends: - debhelper (>= 10), + debhelper (>= 9), + dh-autoreconf, po-debconf, dpkg-dev (>= 1.16.1), quilt, diff --git a/debian/rules b/debian/rules index 1a424db..782c076 100755 --- a/debian/rules +++ b/debian/rules @@ -168,7 +168,7 @@ confflags_udeb = \ $(void) %: - dh $@ --with quilt,autoreconf + dh $@ --with quilt,autoreconf --parallel build-source-stamp: mkdir -p build-source commit ad2facda30f453d749492c51d29f2626aee6326a Author: Adam Jackson <[email protected]> Date: Wed Jan 11 16:15:57 2017 -0500 xserver 1.19.1 Signed-off-by: Adam Jackson <[email protected]> diff --git a/configure.ac b/configure.ac index f7ab48c..b0daff9 100644 --- a/configure.ac +++ b/configure.ac @@ -26,9 +26,9 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.19.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2016-11-15" -RELEASE_NAME="Cioppino" +AC_INIT([xorg-server], 1.19.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2017-01-11" +RELEASE_NAME="Maeuntang" AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) commit 82dcb68a8782d0cce6e6ce1a375cda05c91fe8c3 Author: Keith Packard <[email protected]> Date: Mon Jan 9 18:10:21 2017 -0800 AttendClient of grab-pervious client must queue to saved_ready_clients [v2] A client which is attended while a grab is blocking execution of its requests needs to be placed in the saved_ready_clients list so that it will get scheduled once the grab terminates. Otherwise, if the client never sends another request, there is no way for it to be placed in the ready_clients list. v2: Wrap comment above mark_client_saved_ready. Remove test for OS_COMM_IGNORED which will always be true. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99333 Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Keith Packard <[email protected]> (cherry picked from commit 785053d033e73d2deb0ded4b97eabfd881991978) diff --git a/dix/dispatch.c b/dix/dispatch.c index 3d0fe26..78ac095 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -266,6 +266,16 @@ mark_client_ready(ClientPtr client) xorg_list_append(&client->ready, &ready_clients); } +/* + * Client has requests queued or data on the network, but awaits a + * server grab release + */ +void mark_client_saved_ready(ClientPtr client) +{ + if (xorg_list_is_empty(&client->ready)) + xorg_list_append(&client->ready, &saved_ready_clients); +} + /* Client has no requests queued and no data on network */ void mark_client_not_ready(ClientPtr client) diff --git a/include/dixstruct.h b/include/dixstruct.h index d71b0ac..21a6b8a 100644 --- a/include/dixstruct.h +++ b/include/dixstruct.h @@ -143,6 +143,12 @@ extern void SmartScheduleStopTimer(void); /* Client has requests queued or data on the network */ void mark_client_ready(ClientPtr client); +/* + * Client has requests queued or data on the network, but awaits a + * server grab release + */ +void mark_client_saved_ready(ClientPtr client); + /* Client has no requests queued and no data on network */ void mark_client_not_ready(ClientPtr client); diff --git a/os/connection.c b/os/connection.c index a901ebf..62e2980 100644 --- a/os/connection.c +++ b/os/connection.c @@ -1067,6 +1067,10 @@ AttendClient(ClientPtr client) set_poll_client(client); if (listen_to_client(client)) mark_client_ready(client); + else { + /* grab active, mark ready when grab goes away */ + mark_client_saved_ready(client); + } } /* make client impervious to grabs; assume only executing client calls this */ commit 14516988e095ed748e738c14a87c3656006846f7 Author: Qiang Yu <[email protected]> Date: Tue Jan 10 18:51:55 2017 +0800 randr: fix xserver crash when xrandr setprovideroutputsource xrandr --setprovideroutputsource <screen> <gpu screen> Xorg: ../../../xserver/dix/dispatch.c:4018: AttachOutputGPU: Assertion `new->isGPU' failed. GPUScreen is not allowed to be sink output. Signed-off-by: Qiang Yu <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Peter Hutterer <[email protected]> (cherry picked from commit 555e0a42d138ac8d83af62638752a1bebad602d6) diff --git a/randr/rrprovider.c b/randr/rrprovider.c index f9df67e..e4bc2bf 100644 --- a/randr/rrprovider.c +++ b/randr/rrprovider.c @@ -338,6 +338,9 @@ ProcRRSetProviderOutputSource(ClientPtr client) pScreen = provider->pScreen; pScrPriv = rrGetScrPriv(pScreen); + if (!pScreen->isGPU) + return BadValue; + pScrPriv->rrProviderSetOutputSource(pScreen, provider, source_provider); RRInitPrimeSyncProps(pScreen); commit 3381e2c26b2ac40b1dd909439bf72559b80d0d86 Author: Qiang Yu <[email protected]> Date: Tue Jan 10 18:51:54 2017 +0800 xfree86: fix wrong usage of xf86optionListMerge Signed-off-by: Qiang Yu <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Peter Hutterer <[email protected]> (cherry picked from commit 1012510620de7dadd0ab18b19a8e11facd884601) diff --git a/hw/xfree86/common/xf86Option.c b/hw/xfree86/common/xf86Option.c index 0e8bc1f..e9393fa 100644 --- a/hw/xfree86/common/xf86Option.c +++ b/hw/xfree86/common/xf86Option.c @@ -84,7 +84,7 @@ xf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts) if (device && device->options) { tmp = xf86optionListDup(device->options); if (pScrn->options) - xf86optionListMerge(pScrn->options, tmp); + pScrn->options = xf86optionListMerge(pScrn->options, tmp); else pScrn->options = tmp; } commit 27a2772cf3a1bcd656efdf653a7504597911dbc4 Author: Michel Dänzer <[email protected]> Date: Fri Nov 25 17:34:05 2016 +0900 present: Only call present_flip_notify if vblank->queued == FALSE We are no longer using the present_flip_queue list only for presents which have already been submitted to the driver for page flipping, but also for those which we are queueing up to be flipped later, marked with vblank->queued == TRUE. We were incorrectly calling present_flip_notify for such entries, failing the assertion in present_flip_notify (or presumably resulting in other undesirable behaviour with assertions disabled). Reproduction recipe: Run the JavaFX test case referenced by https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out of it while it's fullscreen. May take a few attempts to hit the assertion failure. Fixes: bab0f450a719 ("present: Fix presentation of flips out of order") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854 Reviewed-by: Alex Deucher <[email protected]> (cherry picked from commit e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62) diff --git a/present/present.c b/present/present.c index a7ca06e..ef89045 100644 --- a/present/present.c +++ b/present/present.c @@ -536,7 +536,10 @@ present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc) } xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) { if (vblank->event_id == event_id) { - present_flip_notify(vblank, ust, msc); + if (vblank->queued) + present_execute(vblank, ust, msc); + else + present_flip_notify(vblank, ust, msc); return; } } commit 943e3cbeb0139d719589fc07c4f471195e4efe0a Author: Kai-Heng Feng <[email protected]> Date: Thu Dec 15 13:56:38 2016 +0800 edid: Add quirk for ADA 1024x600 7" display. Detailed mode reports 108 mm x 68 mm which is for smaller display. Maximum image size reports 15 cm x 10 cm which aligns with its physical size, use this size instead. Signed-off-by: Kai-Heng Feng <[email protected]> Acked-by: Alex Deucher <[email protected]> (cherry picked from commit 9874f73e88678c9eacbcba05e52336fc63a32712) diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c index f24294e..f0e1e97 100644 --- a/hw/xfree86/modes/xf86EdidModes.c +++ b/hw/xfree86/modes/xf86EdidModes.c @@ -153,6 +153,11 @@ quirk_detailed_v_in_cm(int scrnIndex, xf86MonPtr DDC) static Bool quirk_detailed_use_maximum_size(int scrnIndex, xf86MonPtr DDC) { + /* ADA 1024x600 7" display */ + if (memcmp(DDC->vendor.name, "ADA", 4) == 0 && + DDC->vendor.prod_id == 4) + return TRUE; + /* Bug #21324: Iiyama Vision Master 450 */ if (memcmp(DDC->vendor.name, "IVM", 4) == 0 && DDC->vendor.prod_id == 6400) return TRUE; commit cb3057da2254f9b6434a9c40486c72865cd1ab5e Author: Peter Hutterer <[email protected]> Date: Thu Dec 8 14:32:06 2016 +1000 os: return 0 from check_timers if we touched any of them Fixes a regression introduced in 0b2f30834b1a9f. If a driver posts input events during a timer function (wacom and synaptics do this during tap timeouts), ProcessInputEvents() is not called for these events. There are no new events on any fds, so the events just sit in the queue waiting for something else to happen. Fix this by simply returning 0 from check_timers if we ran at least one of them or reset them all. This way the callers ospoll_wait will exit and continue with normal processing. Signed-off-by: Peter Hutterer <[email protected]> Reviewed-by: Keith Packard <[email protected]> diff --git a/os/WaitFor.c b/os/WaitFor.c index ff1c85e..613608f 100644 --- a/os/WaitFor.c +++ b/os/WaitFor.c @@ -143,7 +143,7 @@ check_timers(void) { OsTimerPtr timer; - while ((timer = first_timer()) != NULL) { + if ((timer = first_timer()) != NULL) { CARD32 now = GetTimeInMillis(); int timeout = timer->expires - now; @@ -157,6 +157,8 @@ check_timers(void) /* time has rewound. reset the timers. */ CheckAllTimers(); } + + return 0; } return -1; } commit db03742cd33d6d54834bb138886a4f84bc452a85 Author: Michal Srb <[email protected]> Date: Mon Dec 12 17:45:22 2016 +0200 xinerama: Swap the response in RRXineramaWriteMonitor Reviewed-by: Adam Jackson <[email protected]> diff --git a/randr/rrxinerama.c b/randr/rrxinerama.c index b6e9586..8f499df 100644 --- a/randr/rrxinerama.c +++ b/randr/rrxinerama.c @@ -260,6 +260,13 @@ RRXineramaWriteMonitor(ClientPtr client, RRMonitorPtr monitor) scratch.width = monitor->geometry.box.x2 - monitor->geometry.box.x1; scratch.height = monitor->geometry.box.y2 - monitor->geometry.box.y1; + if (client->swapped) { + swaps(&scratch.x_org); + swaps(&scratch.y_org); + swaps(&scratch.width); + swaps(&scratch.height); + } + WriteToClient(client, sz_XineramaScreenInfo, &scratch); } commit 862c1c43c10eda955db1440cc72ff0387e24a35f Author: Hans De Goede <[email protected]> Date: Tue Dec 20 13:00:43 2016 +0100 glamor: Trust eglGetPlatformDisplayEXT if it exists If the libEGL we are using has eglGetPlatformDisplayEXT, yet it still returns NULL, then this very likely means that it does not support the type (e.g. EGL_PLATFORM_GBM_MESA) passed in, and then returning NULL is the right thing to do. This avoids falling back to an eglGetDisplay() implementation which does not understands the passed in gbm handle, treats it as a pointer to something else completely, followed by a crash sooner or later. Specifically this fixes using the nvidia binary driver, with nvidia's libEGL + the modesetting driver on a secondary GPU crashing inside glamor_egl_init() sometimes. [1.19: squash in typo fix from 29a4f3db - ajax] Cc: Eric Anholt <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Hans de Goede <[email protected]> (cherry picked from commit 05e19644250698aa126a60bc671e85425df784d1) diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index 9cc0f8d..4bde637 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -769,6 +769,10 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) glamor_egl->display = glamor_egl_get_display(EGL_PLATFORM_GBM_MESA, glamor_egl->gbm); + if (!glamor_egl->display) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglGetDisplay() failed\n"); + goto error; + } #else glamor_egl->display = eglGetDisplay((EGLNativeDisplayType) (intptr_t) fd); #endif diff --git a/glamor/glamor_egl.h b/glamor/glamor_egl.h index 6b05f57..6bb1185 100644 --- a/glamor/glamor_egl.h +++ b/glamor/glamor_egl.h @@ -60,16 +60,12 @@ static inline EGLDisplay glamor_egl_get_display(EGLint type, void *native) { - EGLDisplay dpy = NULL; - /* In practise any EGL 1.5 implementation would support the EXT extension */ if (epoxy_has_egl_extension(NULL, "EGL_EXT_platform_base")) { PFNEGLGETPLATFORMDISPLAYEXTPROC getPlatformDisplayEXT = (void *) eglGetProcAddress("eglGetPlatformDisplayEXT"); if (getPlatformDisplayEXT) - dpy = getPlatformDisplayEXT(type, native, NULL); - if (dpy) - return dpy; + return getPlatformDisplayEXT(type, native, NULL); } /* Welp, everything is awful. */ commit 8790bd993ac2f8f8dd54a1946312e6b6dc929e00 Author: Mihail Konev <[email protected]> Date: Thu Dec 29 12:37:18 2016 +0500 os,dix: Depend custom libs on libs, not objects The custom os/os.O library reuses *.o files of os/libos.la. The current rule assumes automake puts all the objects into per-target am__*_la_OBJECTS variable. At least with AC_REPLACE_FUNCS, this no longer holds (as wanted objects are put into LTLIBOBJS instead). Depend on automake's result, the *.la library instead, to express demand of any its dependencies being built. Should be fixing randomly occuring "undefined reference to `strlcpy'" errors when linking Xvfb and other DDX-es that could use os.O. Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Mihail Konev <[email protected]> (cherry picked from commit 5b74e260e009d8bdf26433724495802b85cce7c3) diff --git a/dix/Makefile.am b/dix/Makefile.am index e7ca236..a4171d7 100644 --- a/dix/Makefile.am +++ b/dix/Makefile.am @@ -61,13 +61,13 @@ endif if SPECIAL_DTRACE_OBJECTS # Generate dtrace object code for probes in libdix -dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS) +dtrace-dix.o: $(top_srcdir)/dix/Xserver.d libdix.la $(AM_V_GEN)$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS:%.lo=.libs/%.o) noinst_PROGRAMS = dix.O dix_O_SOURCES = -dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS) +dix.O: dtrace-dix.o libdix.la $(AM_V_GEN)ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o) endif diff --git a/os/Makefile.am b/os/Makefile.am index b5fb9d0..c6e78cb 100644 --- a/os/Makefile.am +++ b/os/Makefile.am @@ -58,12 +58,12 @@ EXTRA_DIST = $(SECURERPC_SRCS) $(XDMCP_SRCS) if SPECIAL_DTRACE_OBJECTS # Generate dtrace object code for probes in libos & libdix -dtrace.o: $(top_srcdir)/dix/Xserver.d $(am_libos_la_OBJECTS) +dtrace.o: $(top_srcdir)/dix/Xserver.d libos.la $(AM_V_GEN)$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o ../dix/.libs/*.o noinst_PROGRAMS = os.O

