diff -Nru xorg-server-hwe-16.04-1.19.3/aclocal.m4 xorg-server-hwe-16.04-1.19.5/aclocal.m4 --- xorg-server-hwe-16.04-1.19.3/aclocal.m4 2017-03-15 18:05:38.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/aclocal.m4 2017-10-12 17:25:12.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -410,9 +410,9 @@ AC_DEFUN([XORG_FONTDIR],[XORG_FONTSUBDIR([FONTDIR], [fontdir], [$1])]) -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29.1) -dnl +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 11 (pkg-config-0.29.1) + dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl @@ -686,9 +686,77 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------ +dnl +dnl Prepare a "--with-" configure option using the lowercase +dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and +dnl PKG_CHECK_MODULES in a single macro. +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], + [auto],[PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) $3], + [m4_n([def_action_if_not_found]) $4])]) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +])dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ----------------------------------------------- +dnl +dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES +dnl check._[VARIABLE-PREFIX] is exported as make variable. +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +])dnl PKG_HAVE_WITH_MODULES + +dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------------------ +dnl +dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after +dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make +dnl and preprocessor variable. +AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], +[ +PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) + +AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], + [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) +])dnl PKG_HAVE_DEFINE_WITH_MODULES + dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl -dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the "Software"), @@ -725,7 +793,7 @@ # See the "minimum version" comment for each macro you use to see what # version you require. m4_defun([XORG_MACROS_VERSION],[ -m4_define([vers_have], [1.19.1]) +m4_define([vers_have], [1.19.0]) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_if(m4_cmp(maj_have, maj_needed), 0,, @@ -818,9 +886,8 @@ if test x$FILE_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[[01]]) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + solaris*) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -829,9 +896,8 @@ if test x$MISC_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[[01]]) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + solaris*) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -840,9 +906,8 @@ if test x$DRIVER_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[[01]]) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + solaris*) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -851,9 +916,8 @@ if test x$ADMIN_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[[01]]) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + solaris*) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -1114,24 +1178,13 @@ fi]) # Test for the ability of xmlto to generate a text target -# -# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the -# following test for empty XML docbook files. -# For compatibility reasons use the following empty XML docbook file and if -# it fails try it again with a non-empty XML file. have_xmlto_text=no cat > conftest.xml << "EOF" EOF AS_IF([test "$have_xmlto" = yes], [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], [have_xmlto_text=yes], - [# Try it again with a non-empty XML file. - cat > conftest.xml << "EOF" - -EOF - AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], - [have_xmlto_text=yes], - [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])]) + [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])]) rm -f conftest.xml AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) @@ -2768,7 +2821,7 @@ ]) # XTRANS_SECURE_RPC_FLAGS -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2783,7 +2836,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -2799,14 +2852,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Figure out how to run the assembler. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2826,7 +2879,7 @@ # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2878,7 +2931,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2909,7 +2962,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3100,7 +3153,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3176,7 +3229,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3373,7 +3426,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3394,7 +3447,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3415,7 +3468,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3465,7 +3518,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3504,7 +3557,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3533,7 +3586,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3580,7 +3633,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3599,7 +3652,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3680,7 +3733,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3740,7 +3793,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3768,7 +3821,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3787,7 +3840,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/ChangeLog xorg-server-hwe-16.04-1.19.5/ChangeLog --- xorg-server-hwe-16.04-1.19.3/ChangeLog 2017-03-15 18:06:10.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/ChangeLog 2017-10-12 17:25:36.000000000 +0000 @@ -1,3 +1,1269 @@ +commit b96e982e3a43513549636850186ff80a82190f64 +Author: Adam Jackson +Date: Thu Oct 12 12:32:31 2017 -0400 + + xserver 1.19.5 + + Signed-off-by: Adam Jackson + +commit 95f605b42d8bbb6bea2834a1abfc205981c5b803 +Author: Nathan Kidd +Date: Fri Jan 9 10:15:46 2015 -0500 + + Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176) + + Reviewed-by: Julien Cristau + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit b747da5e25be944337a9cd1415506fc06b70aa81) + +commit cc41e5b581d287c56f8d7113a97a4882dcfdd696 +Author: Nathan Kidd +Date: Fri Jan 9 10:09:14 2015 -0500 + + dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo (CVE-2017-12177) + + v2: Protect against integer overflow (Alan Coopersmith) + + Reviewed-by: Alan Coopersmith + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit 4ca68b878e851e2136c234f40a25008297d8d831) + +commit 6c15122163a2d2615db7e998e8d436815a08dec6 +Author: Nathan Kidd +Date: Wed Dec 24 16:22:18 2014 -0500 + + Xi: fix wrong extra length check in ProcXIChangeHierarchy (CVE-2017-12178) + + Reviewed-by: Alan Coopersmith + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit 859b08d523307eebde7724fd1a0789c44813e821) + +commit c77cd08efcf386bcc5d8dfbd0427134b2b2d0888 +Author: Nathan Kidd +Date: Fri Jan 9 10:04:41 2015 -0500 + + Xi: integer overflow and unvalidated length in (S)ProcXIBarrierReleasePointer + + [jcristau: originally this patch fixed the same issue as commit + 211e05ac85 "Xi: Test exact size of XIBarrierReleasePointer", with the + addition of these checks] + + This addresses CVE-2017-12179 + + Reviewed-by: Alan Coopersmith + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Jeremy Huddleston Sequoia + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit d088e3c1286b548a58e62afdc70bb40981cdb9e8) + +commit d264da92f7f8129b8aad4f0114a6467fc38fc896 +Author: Nathan Kidd +Date: Sun Dec 21 01:10:03 2014 -0500 + + hw/xfree86: unvalidated lengths + + This addresses: + CVE-2017-12180 in XFree86-VidModeExtension + CVE-2017-12181 in XFree86-DGA + CVE-2017-12182 in XFree86-DRI + + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit 1b1d4c04695dced2463404174b50b3581dbd857b) + +commit 61502107a30d64f991784648c3228ebc6694a032 +Author: Nathan Kidd +Date: Fri Jan 9 11:43:05 2015 -0500 + + xfixes: unvalidated lengths (CVE-2017-12183) + + v2: Use before swap (Jeremy Huddleston Sequoia) + + v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith) + + Reviewed-by: Alan Coopersmith + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Jeremy Huddleston Sequoia + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit 55caa8b08c84af2b50fbc936cf334a5a93dd7db5) + +commit c206f36a4b6ecf2555ab2291c349ab7d7d0b02f5 +Author: Nathan Kidd +Date: Fri Jan 9 09:57:23 2015 -0500 + + Unvalidated lengths + + v2: Add overflow check and remove unnecessary check (Julien Cristau) + + This addresses: + CVE-2017-12184 in XINERAMA + CVE-2017-12185 in MIT-SCREEN-SAVER + CVE-2017-12186 in X-Resource + CVE-2017-12187 in RENDER + + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Julien Cristau + Signed-off-by: Nathan Kidd + Signed-off-by: Julien Cristau + (cherry picked from commit cad5a1050b7184d828aef9c1dd151c3ab649d37e) + +commit e751722a7b0c5b595794e60b054ade0b3f6cdb4d +Author: Michal Srb +Date: Fri Jul 7 17:04:03 2017 +0200 + + os: Make sure big requests have sufficient length. + + A client can send a big request where the 32B "length" field has value + 0. When the big request header is removed and the length corrected, + the value will underflow to 0xFFFFFFFF. Functions processing the + request later will think that the client sent much more data and may + touch memory beyond the receive buffer. + + Signed-off-by: Eric Anholt + Reviewed-by: Peter Hutterer + (cherry picked from commit 9c23685009aa96f4b861dcc5d2e01dbee00c4dd9) + +commit 784d205ff6527c761ffbb1c43c9ad3669dd8d26e +Author: Adam Jackson +Date: Thu Oct 12 12:17:53 2017 -0400 + + Revert "xf86-video-modesetting: Add ms_queue_vblank helper [v3]" + + Apparently introduces a regression: + + https://bugs.freedesktop.org/103243 + + This reverts commit 388dc1aeac9acf2d51ad5103570beffd81d78b96. + +commit ec37e559614cf4eaba67d3ca0693f09fd95a5d57 +Author: Adam Jackson +Date: Wed Oct 4 15:29:18 2017 -0400 + + xserver 1.19.4 + + Signed-off-by: Adam Jackson + +commit 12fe3d3e9f494ef84832efe94ba00db92be499b1 +Author: Louis-Francis Ratté-Boulianne +Date: Wed Sep 27 01:19:58 2017 -0400 + + present: Check the whole exec queue on event + + Later events are sometimes added in front of the queue (e.g. + if page flipping fails) so we need to check the whole queue + on event. + + Signed-off-by: Louis-Francis Ratté-Boulianne + Reviewed-by: Michel Dänzer + (cherry picked from commit c2f2b25ab55c67f9f3ad07c02fa746eae7c61196) + +commit 388dc1aeac9acf2d51ad5103570beffd81d78b96 +Author: Keith Packard +Date: Fri Sep 29 08:48:33 2017 -0700 + + xf86-video-modesetting: Add ms_queue_vblank helper [v3] + + This provides an API wrapper around the kernel interface for queueing + a vblank event, simplifying all of the callers. + + v2: Fix missing '|' in computing vbl.request.type + + v3: Remove spurious bit of next patch (thanks, Michel Dänzer) + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + (cherry picked from commit 677c32bcda98a96585bb1f66b57e0755a157b772) + +commit 8bd33a2db7337b2801fc630a57e36b6aeea219d9 +Author: Keith Packard +Date: Thu Jul 27 10:08:32 2017 -0700 + + xkb: Handle xkb formated string output safely (CVE-2017-13723) + + Generating strings for XKB data used a single shared static buffer, + which offered several opportunities for errors. Use a ring of + resizable buffers instead, to avoid problems when strings end up + longer than anticipated. + + Reviewed-by: Michal Srb + Signed-off-by: Keith Packard + Signed-off-by: Julien Cristau + (cherry picked from commit 94f11ca5cf011ef123bd222cabeaef6f424d76ac) + +commit 3094c4c6d879215923f2183ecd048b4f5429b182 +Author: Michal Srb +Date: Thu Jul 27 11:54:26 2017 +0200 + + xkb: Escape non-printable characters correctly. + + XkbStringText escapes non-printable characters using octal numbers. Such escape + sequence would be at most 5 characters long ("\0123"), so it reserves 5 bytes + in the buffer. Due to char->unsigned int conversion, it would print much longer + string for negative numbers. + + Reviewed-by: Keith Packard + Signed-off-by: Julien Cristau + (cherry picked from commit eaf1f72ed8994b708d94ec2de7b1a99f5c4a39b8) + +commit a510fb811100bc27f0bfafe5d073998551161819 +Author: Michal Srb +Date: Fri Jul 28 16:27:10 2017 +0200 + + Xext/shm: Validate shmseg resource id (CVE-2017-13721) + + Otherwise it can belong to a non-existing client and abort X server with + FatalError "client not in use", or overwrite existing segment of another + existing client. + + Signed-off-by: Julien Cristau + (cherry picked from commit b95f25af141d33a65f6f821ea9c003f66a01e1f1) + +commit 3cea13cc40e2421ebefcf2ee0eb949a7bc4e63fd +Author: Adam Jackson +Date: Fri Jun 16 15:44:47 2017 -0400 + + dmx: Remove some not-very-interesting debug prints + + gcc/glibc think the snprintf in dmxExecOS() might truncate. Yes, it + might, and we also don't care. Just delete all this. + + Signed-off-by: Adam Jackson + Acked-by: Keith Packard + (cherry picked from commit d6db66811643d3762716f6b144a7358572216a4f) + +commit 320e48c9217a8bdcd07dc8ce4aebec043e4afa3c +Author: Adam Jackson +Date: Fri Jun 16 15:44:46 2017 -0400 + + dmx: Silence an unused-result warning + + Modern glibc is very insistent that you care about whether write() + succeeds: + + ../hw/dmx/input/usb-keyboard.c: In function ‘kbdUSBCtrl’: + ../hw/dmx/input/usb-keyboard.c:292:9: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] + write(priv->fd, &event, sizeof(event)); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Signed-off-by: Adam Jackson + Reviewed-by: Keith Packard + (cherry picked from commit 17ad6e5d5616039021455bc821d6ee2497f7ebde) + +commit c5d409a292008c4219c77a1bdb7621eb0ac42991 +Author: Jon TURNEY +Date: Mon Jun 26 14:54:04 2017 +0100 + + Move statically linked xorgxkb files from dixmods to a separate directory + + [ajax: Fixed test/Makefile.am as well] + + Reviewed-by: Adam Jackson + (cherry picked from commit fbdd73fac68383c93f6f5c6a7615860503039999) + +commit 359186b13bc6ea6d8c3340c392c0aba5b9376a5d +Author: Dawid Kurek +Date: Thu Jul 6 14:51:11 2017 +0200 + + modesetting: Blacklist EVDI devices from PRIME sync + + UDL (usb) devices are blacklisted because of they weird behaviour when + it comes to vblank events. As EVDI uses very similar model of handling + vblanks it should be treated similarly. + + When doing a page flip, EVDI does not wait for real vblank, but + simulates it by adding constant delay. It also does not support + DRM_IOCTL_WAIT_VBLANK. + + In contrast to UDL, EVDI uses platform devices, thus instead of 'usb' in + path they all have 'platform'. + + It is possible to blacklist by 'platform', so without explicitly saying + 'evdi', but it might be misleading when it comes to real reason for it. + + Signed-off-by: Dawid Kurek + (cherry picked from commit fbd80b2c8ebe9fd41229dc5438524d107c071ff1) + +commit 5571318f22f17883e26977a4c72e1e46d17bdf5d +Author: Keith Packard +Date: Mon Sep 25 16:18:22 2017 -0700 + + modesetting: Skip no-longer-present connectors when resetting BAD links + + Outputs may have NULL mode_output (connector) pointers if the + connector disappears while the server is running. Skip these when + resetting outputs with BAD link status. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + (cherry picked from commit 37f4e7651a2fd51efa613a08a1e705553be33e76) + +commit 787655d5df0c8c43e5e424af3e6e35b8daf54a7d +Author: Martin Peres +Date: Mon Apr 10 16:48:21 2017 +0300 + + modesetting: re-set the crtc's mode when link-status goes BAD + + Despite all the careful planning of the kernel, a link may become + insufficient to handle the currently-set mode. At this point, the + kernel should mark this particular configuration as being broken + and potentially prune the mode before setting the offending connector's + link-status to BAD and send the userspace a hotplug event. This may + happen right after a modeset or later on. + + Upon receiving a hot-plug event, we iterate through the connectors to + re-apply the currently-set mode on all the connectors that have a + link-status property set to BAD. The kernel may be able to get the + link to work by dropping to using a lower link bpp (with the same + display bpp). However, the modeset may fail if the kernel has pruned + the mode, so to make users aware of this problem a warning is outputed + in the logs to warn about having a potentially-black display. + + This patch does not modify the current behaviour of always propagating + the events to the randr clients. This allows desktop environments to + re-probe the connectors and select a new resolution based on the new + (currated) mode list if a mode disapeared. This behaviour is expected in + order to pass the Display Port compliance tests. + + Signed-off-by: Martin Peres + Reviewed-by: Eric Anholt + (cherry picked from commit bcee1b76aa0db8525b491485e90b8740763d7de6) + +commit 126144c2355ce5a3a350f15ef97389c7f34bb6fb +Author: Peter Hutterer +Date: Fri May 5 09:04:35 2017 +1000 + + xfree86: up the path name size to 512 in xf86MatchDriverFromFiles + + ./hw/xfree86/common/xf86pciBus.c: In function ‘xf86MatchDriverFromFiles’: + ../hw/xfree86/common/xf86pciBus.c:1330:52: warning: ‘snprintf’ output may be + truncated before the last format character [-Wformat-truncation=] + snprintf(path_name, sizeof(path_name), "%s/%s", ^~~~~~~ + ../hw/xfree86/common/xf86pciBus.c:1330:13: note: ‘snprintf’ output between 2 + + dirent->d_name is 256, so sprintf("%s/%s") into a 256 buffer gives us: + + and 257 bytes into a destination of size 256 + + Signed-off-by: Peter Hutterer + (cherry picked from commit 96af794dc648eadcd596893412d7530e92cb5421) + +commit a114286c079c42067b001ac330501496e2e297a1 +Author: Peter Hutterer +Date: Wed Sep 6 11:53:02 2017 +1000 + + test: fix compiler warning + + signal-logging.c:182:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses] + + Signed-off-by: Peter Hutterer + (cherry picked from commit ea82ececbf85a7ac3d0931687f44c57534fde17c) + +commit d230e12d7dac4461626d0c6edfd692571592a280 +Author: Nick Sarnie +Date: Sat Sep 23 17:35:48 2017 -0400 + + suid: Include sysmacros.h to fix build after glibc-2.25 + + [Added HAVE_SYS_SYSMACROS_H guard - ajax] + + Signed-off-by: Nick Sarnie + Reviewed-by: Adam Jackson + (cherry picked from commit 84e3b96b531363e47f6789aacfcae4aa60135e2e) + +commit c5320244a3501aaf9558715e9097a2a625cb768b +Author: Adam Jackson +Date: Thu Apr 27 14:45:25 2017 -0400 + + xfree86: Silence a new glibc warning + + glibc would like to stop declaring major()/minor() macros in + because that header gets included absolutely everywhere + and unix device major/minor is perhaps usually not what's expected. Fair + enough. If one includes as well then glibc knows we + meant it and doesn't warn, so do that if it exists. + + Signed-off-by: Adam Jackson + (cherry picked from commit d732c36597fab2e9bc4f2aa72cf1110997697557) + +commit 0e79797e3cb3f8fafe271f4f233a8a8fd25f2001 +Author: Adam Jackson +Date: Wed Aug 30 15:11:45 2017 -0400 + + os: Fix warning in LockServer + + The meson build gives me: + + ../os/utils.c: In function ‘LockServer’: + ../os/utils.c:310:40: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=] + snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long) getpid()); + ^~~~~~~~~ + ../os/utils.c:310:5: note: ‘snprintf’ output between 12 and 13 bytes into a destination of size 12 + snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long) getpid()); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Which seems to be due to the %d part meaning that a negative number's - + sign would be one wider than we're expecting. Fine, just coerce it to + unsigned. + + Signed-off-by: Adam Jackson + Reviewed-by: Alan Coopersmith + (cherry picked from commit aabf65d2a0206bd1a9c6e9a9f3153ded873dfd43) + +commit 69ab094a08513849bb68cd2750840e88db6e5933 +Author: Olivier Fourdan +Date: Wed Jul 26 16:00:38 2017 +0200 + + glamor: Avoid overflow between box32 and box16 box + + glamor_compute_transform_clipped_regions() uses a temporary box32 + internally which is copied back to a box16 to init the regions16, + thus causing a potential overflow. + + If an overflow occurs, the given region is invalid and the pixmap + init region will fail. + + Simply check that the coordinates won't overflow when copying back to + the box16, avoiding a crash later down the line in glamor. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101894 + Signed-off-by: Olivier Fourdan + Tested-by: Fabrice Bellet + Reviewed-by: Adam Jackson + (cherry picked from commit 9869dcb349b49f6d4cc2fab5d927cd8b1d1f463c) + +commit 421814bc81ba8dfaa9be59b8b35b3a9114dbcb8b +Author: Olivier Fourdan +Date: Wed Jul 26 16:00:37 2017 +0200 + + glamor: handle NULL source picture + + COMPOSITE_REGION() can pass NULL as a source picture, make sure we + handle that nicely in both glamor_composite_clipped_region() and + glamor_composite_choose_shader(). + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101894 + Signed-off-by: Olivier Fourdan + Reviewed-by: Adam Jackson + (cherry picked from commit bd353e9b84e013fc34ed730319d5b63d20977903) + +commit baa25315014af350c9c04c2c83beeee36aead042 +Author: Olivier Fourdan +Date: Thu Aug 31 10:23:00 2017 +0200 + + xwayland: Fix a segfault with pointer locking + + Xwayland would crash in some circumstances while trying to issue a + pointer locking when the cursor is hidden when there is no seat focus + window set. + + The crash signature looks like: + + #0 zwp_pointer_constraints_v1_lock_pointer () + #1 xwl_pointer_warp_emulator_lock () at xwayland-input.c:2584 + #2 xwl_seat_maybe_lock_on_hidden_cursor () at xwayland-input.c:2756 + #3 xwl_seat_maybe_lock_on_hidden_cursor () at xwayland-input.c:2765 + #4 xwl_seat_cursor_visibility_changed () at xwayland-input.c:2768 + #5 xwl_set_cursor () at xwayland-cursor.c:245 + #6 miPointerUpdateSprite () at mipointer.c:468 + #7 miPointerDisplayCursor () at mipointer.c:206 + #8 CursorDisplayCursor () at cursor.c:150 + #9 AnimCurDisplayCursor () at animcur.c:220 + #10 ChangeToCursor () at events.c:936 + #11 ActivatePointerGrab () at events.c:1542 + #12 GrabDevice () at events.c:5120 + #13 ProcGrabPointer () at events.c:4908 + #14 Dispatch () at dispatch.c:478 + #15 dix_main () at main.c:276 + + xwl_pointer_warp_emulator_lock() tries to use the surface from the + xwl_seat->focus_window leading to a NULL pointer dereference when that + value is NULL. + + Check that xwl_seat->focus_window is not NULL earlier in the stack in + xwl_seat_maybe_lock_on_hidden_cursor() and return early if not the case + to avoid the crash. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=102474 + Signed-off-by: Olivier Fourdan + Acked-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit cdd0352ba05d4d8482aaca41797e05d40e58da36) + +commit 6f29c8375281c0337ab94f7919a70c20149b0fc6 +Author: Michal Srb +Date: Fri Jul 7 17:21:46 2017 +0200 + + Xi: Test exact size of XIBarrierReleasePointer + + Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer. + + Signed-off-by: Peter Hutterer + (cherry picked from commit 211e05ac85a294ef361b9f80d689047fa52b9076) + +commit c8eb79c1834cef5657e227844111052e0dd78661 +Author: Rodrigo Vivi +Date: Thu Jun 29 13:29:58 2017 -0700 + + dri2: Sync i965_pci_ids.h from Mesa. + + Copied from Mesa with no modifications. + + Gives us Coffee Lake and Cannon Lake PCI IDs. + + Signed-off-by: Rodrigo Vivi + Acked-by: Kenneth Graunke + (cherry picked from commit abb031e731f5c159add1b3351de9c4bb121bf00a) + +commit 37815323721790c4311faff9743f4d2f902b5506 +Author: Adam Jackson +Date: Thu Jun 29 10:32:00 2017 -0400 + + wayland: Sync drm.xml with Mesa + + ... where it is named src/egl/wayland/wayland-drm/wayland-drm.xml and + has its requests sorted by protocol version number, avoiding a warning + from wayland-scanner. + + Signed-off-by: Adam Jackson + Reviewed-by: Daniel Stone + (cherry picked from commit 04511a0476b5c860e7d157b01080dff94d935f74) + +commit 0934d56dc804780f3e83ae0153c797d392e6faba +Author: Michel Dänzer +Date: Fri Jun 16 11:30:03 2017 +0900 + + xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet + + The memcmp didn't catch when e.g. only the filter changed. Tested by + alternately running + + xrandr --output DVI-I-0 --scale-from 3840x2160 --filter bilinear + xrandr --output DVI-I-0 --scale-from 3840x2160 --filter nearest + + Reviewed-by: Aaron Plattner + (cherry picked from commit 4212c884c423e5ce2cd3b4d67c0d656475fddc79) + +commit 358f0bcd4f6703302b8895e42e20d1cbdfff102e +Author: Aaron Plattner +Date: Thu Jun 15 14:28:27 2017 -0700 + + randr: Use RRTransformEqual in RRCrtcPendingTransform + + Currently, RRCrtcPendingTransform returns false unless the + transformation matrix itself is changing. This makes RRCrtcSet skip + doing anything if the only thing that is changing is the transform + filter. + + There's already a function for comparing RRTransformPtrs, so use that + instead. + + Tested by running + + xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter nearest + + follwed by + + xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter bilinear + + Signed-off-by: Aaron Plattner + Reviewed-and-Tested-by: Michel Dänzer + (cherry picked from commit 091af80be48c37f16c679d35fc12ad33e6b0cd74) + +commit ed8fbabacac3cd4c7798bd36713894a2068cee13 +Author: Michal Srb +Date: Wed May 24 15:54:42 2017 +0300 + + Xi: Do not try to swap GenericEvent. + + The SProcXSendExtensionEvent must not attempt to swap GenericEvent because + it is assuming that the event has fixed size and gives the swapping function + xEvent-sized buffer. + + A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. + + Signed-off-by: Michal Srb + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit ba336b24052122b136486961c82deac76bbde455) + +commit e8f6a1bb77cbd1bb30d8dc956c5fdc98e25a22aa +Author: Michal Srb +Date: Wed May 24 15:54:41 2017 +0300 + + Xi: Verify all events in ProcXSendExtensionEvent. + + The requirement is that events have type in range + EXTENSION_EVENT_BASE..lastEvent, but it was tested + only for first event of all. + + Signed-off-by: Michal Srb + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 8caed4df36b1f802b4992edcfd282cbeeec35d9d) + +commit 21f559038c8776acc6439faadbdcab7df4300c66 +Author: Michal Srb +Date: Wed May 24 15:54:40 2017 +0300 + + dix: Disallow GenericEvent in SendEvent request. + + The SendEvent request holds xEvent which is exactly 32 bytes long, no more, + no less. Both ProcSendEvent and SProcSendEvent verify that the received data + exactly match the request size. However nothing stops the client from passing + in event with xEvent::type = GenericEvent and any value of + xGenericEvent::length. + + In the case of ProcSendEvent, the event will be eventually passed to + WriteEventsToClient which will see that it is Generic event and copy the + arbitrary length from the receive buffer (and possibly past it) and send it to + the other client. This allows clients to copy unitialized heap memory out of X + server or to crash it. + + In case of SProcSendEvent, it will attempt to swap the incoming event by + calling a swapping function from the EventSwapVector array. The swapped event + is written to target buffer, which in this case is local xEvent variable. The + xEvent variable is 32 bytes long, but the swapping functions for GenericEvents + expect that the target buffer has size matching the size of the source + GenericEvent. This allows clients to cause stack buffer overflows. + + Signed-off-by: Michal Srb + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 215f894965df5fb0bb45b107d84524e700d2073c) + +commit cdf15ab8f94d54bce72f37653fc46daf482b1671 +Author: Michal Srb +Date: Wed May 24 15:54:39 2017 +0300 + + Xi: Zero target buffer in SProcXSendExtensionEvent. + + Make sure that the xEvent eventT is initialized with zeros, the same way as + in SProcSendEvent. + + Some event swapping functions do not overwrite all 32 bytes of xEvent + structure, for example XSecurityAuthorizationRevoked. Two cooperating + clients, one swapped and the other not, can send + XSecurityAuthorizationRevoked event to each other to retrieve old stack data + from X server. This can be potentialy misused to go around ASLR or + stack-protector. + + Signed-off-by: Michal Srb + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 05442de962d3dc624f79fc1a00eca3ffc5489ced) + +commit 3a53e4407fb9e0c0e0dbf8d147b67f6e36aea5ae +Author: Michel Dänzer +Date: Tue Jun 6 18:42:06 2017 +0900 + + glamor: Fix temporary pixmap coordinate offsets + + The previous values happened to work in basic cases, but not in general + if the destination is a subwindow or has a border. + + Fixes crash with xli, which moves a large subwindow inside a smaller + parent window for scrolling. + + No regressions with xterm, x11perf -copyplane or the xscreensaver + phosphor hack. + + Bug: https://bugs.debian.org/857983 + Reviewed-by: Keith Packard + (cherry picked from commit ffda82ed04d28feae2e001dbd0c32d6c795d90b1) + +commit 87a7393799ab5d1ea4a19ae7687cd50ac0dceeb4 +Author: Adam Jackson +Date: Mon Jun 12 14:43:23 2017 -0400 + + modesetting: Validate the atom for enum properties + + The client could have said anything here, and if what they said doesn't + actually name an atom NameForAtom() will return NULL, and strcmp() will + be unhappy about that. + + Signed-off-by: Adam Jackson + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit d4995a3936ae283b9080fdaa0905daa669ebacfc) + +commit faeee7646695261e60ea03d934a0c496a429f31b +Author: Carlos Garnacho +Date: Sun May 28 15:56:21 2017 +0200 + + Xi: Use WarpPointerProc hook on XI pointer warping implementation + + Just like we do with XWarpPointer's. + + Signed-off-by: Carlos Garnacho + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 95febc42cadf392a888104ad6d5cf4f34fdde7d5) + +commit c6df0d03de22b57d5faa77b19ac1ec0311f4f3a5 +Author: Carlos Garnacho +Date: Sun May 28 15:56:20 2017 +0200 + + xwayland: Lock the pointer if it is confined and has no cursor + + In the typical pattern in games of "hide cursor, grab with a confineTo, + warp constantly the pointer to the middle of the window" the last warping + step is actually rather optional. Some games may choose to just set up a + grab with confineTo argument, and trust that they'll get correct relative + X/Y axis values despite the hidden cursor hitting the confinement window + edge. + + To cater for these cases, lock the pointer whenever there is a pointer + confinement and the cursor is hidden. This ensures the pointer position + is in sync with the compositor's when it's next shown again, and more + importantly resorts to the relative pointer for event delivery. + + Signed-off-by: Carlos Garnacho + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1) + +commit 2ccea152c091e25474a83588e18475567471e7c8 +Author: Carlos Garnacho +Date: Sun May 28 15:56:19 2017 +0200 + + xwayland: Update root window size when desktop size changes + + This fixes grabs on InputOnly windows whose parent is the root window + failing with GrabNotViewable. This is due to window->borderSize/windowSize + being computed as clipped by its parent, resulting in a null region. + + Setting up the right size on the root window makes the InputOnly size + correct too, so the GrabNotViewable paths aren't hit anymore. + + Signed-off-by: Carlos Garnacho + Acked-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b) + +commit 0e5b08f2eef946e9d9d071f0a79ead379419d8a7 +Author: Carlos Garnacho +Date: Sun May 28 15:56:18 2017 +0200 + + xwayland: "Accept" confineTo on InputOnly windows + + Of sorts, actually make it confine to the pointer focus, as the + InputOnly window is entirely invisible to xwayland accounting, + we don't have a xwl_window for it. + + Signed-off-by: Carlos Garnacho + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2) + +commit 420f77a1ba8bfbbf8c06f6dd57e9ee36124b7360 +Author: Carlos Garnacho +Date: Sun May 28 15:56:17 2017 +0200 + + xwayland: Allow pointer warp on root/None window + + Of sorts, as we can't honor pointer warping across the whole root window + coordinates, peek the pointer focus in these cases. + + Signed-off-by: Carlos Garnacho + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942) + +commit 40edd409bfc527223dfae89c7f84fea0721dec49 +Author: Michel Dänzer +Date: Fri May 26 12:30:13 2017 +0900 + + glamor: Store the actual EGL/GLX context pointer in lastGLContext + + Fixes subtle breakage which could sometimes trigger after a server reset + with multiple screens using glamor: + + Screen A enters glamor_close_screen last and calls various cleanup + functions, which at some point call glamor_make_current to make sure + screen A's GL context is current. This sets lastGLContext to screen A's + &glamor_priv->ctx. Finally, glamor_close_screen calls + glamor_release_screen_priv, which calls free(glamor_priv). + + Later, screen B enters glamor_init, which allocates a new glamor_priv. + With bad luck, this can return the same pointer which was previously + used for screen A's glamor_priv. So when screen B's glamor_init calls + glamor_make_current, lastGLContext == &glamor_priv->ctx, so MakeCurrent + isn't called for screen B's GL context, and the following OpenGL API + calls triggered by glamor_init mess up screen A's GL context. + + The observed end result of this was a crash in glamor_get_vbo_space + because glamor_priv->vbo didn't match the GL context, though there might + be other possible outcomes. + + Assigning the actual GL context pointer to lastGLContext prevents this + by preventing the false negative test in glamor_make_current. + + Reviewed-by: Keith Packard + Reviewed-by: Eric Anholt + (cherry picked from commit 7c88977d338a01aca866e52c9e736f8857fb9ae4) + +commit 7c4f7b3a49a43984ab90788b85b35078feadf42a +Author: Lyude +Date: Tue May 30 16:39:49 2017 -0400 + + xwayland: Don't load extension list more than once + + When running an Xwayland server from the command line, we end up + resetting the server every time all of the clients connected to the + server leave. This would be fine, except that xwayland makes the mistake + of unconditionally calling LoadExtensionList(). This causes us to setup + the glxExtension twice in a row which means that when we lose our last + client on the second server generation, we end up trying to call the glx + destructors twice in a row resulting in a segfault: + + (EE) + (EE) Backtrace: + (EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9] + (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x70845bf] + (EE) 2: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32897d) [0x1196e5bd] + (EE) 3: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x328a45) [0x1196e745] + (EE) 4: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32665f) [0x11969f7f] + (EE) 5: Xwayland (__glXDRIscreenDestroy+0x30) [0x54686e] + (EE) 6: Xwayland (glxCloseScreen+0x3f) [0x5473db] + (EE) 7: Xwayland (glxCloseScreen+0x53) [0x5473ef] + (EE) 8: Xwayland (dix_main+0x7b6) [0x44c8c9] + (EE) 9: Xwayland (main+0x28) [0x61c503] + (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x72b1401] + (EE) 11: Xwayland (_start+0x2a) [0x4208fa] + (EE) 12: ? (?+0x2a) [0x2a] + (EE) + (EE) Segmentation fault at address 0x18 + (EE) + Fatal server error: + (EE) Caught signal 11 (Segmentation fault). Server aborting + (EE) + + Easy reproduction recipe: + - Start an Xwayland session with the default settings + - Open a window + - Close that window + - Open another window + - Close that window + - Total annihilation occurs + + Signed-off-by: Lyude + Reviewed-by: Michel Dänzer + Signed-off-by: Peter Hutterer + (cherry picked from commit 4f29366f1e5678505fb882143c9b4a892d5b8273) + +commit d8f63717e05ae8d820ceae74216916ebd180441d +Author: Jason Gerecke +Date: Fri May 26 14:27:19 2017 -0700 + + xfree86: Fix interpretation of xf86WaitForInput timeout + + Commit aa6717ce2 switched xf86WaitForInput from using select(2) to using + poll(2). Before this change, the timeout was interpreted as being in + microseconds; afterwards it is fed directly to xorg_poll which interprets + it as being in milliseconds. This results in the function potentially + blocking 1000x longer than intended. This commit scales down the timeout + argument before passing it to xorg_poll, being careful to ensure the result + is not rounded down due to integer division. + + Signed-off-by: Jason Gerecke + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 2fbf62b2fb3dcb29551251d09aa695715bb754f4) + +commit 444929b446a0ef5873d6346c3f3091adb8fbe6bb +Author: Keith Packard +Date: Wed May 10 21:50:45 2017 -0700 + + dix: Remove clients from input and output ready queues after closing + + Delay removing the client from these two queues until all potential + I/O has completed in case we mark the client as ready for reading or + with pending output during the close operation. + + Bugzilla: https://bugs.freedesktop.org/100957 + Signed-off-by: Keith Packard + Tested-by: Nick Sarnie + Reviewed-by: Michel Dänzer + (cherry picked from commit d9e23ea4228575344e3b4c0443cecc5eb75356e4) + +commit d808b573992ae1fc7706d8897a92783b847040e3 +Author: Keith Packard +Date: Sat Apr 29 00:26:10 2017 -0700 + + os: Mark client as ready to read when closing due to write failure [100863] + + This makes sure the server will go look at the client again, notice + that the FD is no longer valid and close the client down. + + Bugzilla: https://bugs.freedesktop.org/100863 + Signed-off-by: Keith Packard + Reviewed-and-Tested-by: Michel Dänzer + (cherry picked from commit e2f68296ffb8e40035c0ebd949b67d1e2e424e11) + +commit 7a2525fba60a04a95a4a8b26c2b628dc8fdfdeff +Author: Keith Packard +Date: Sat Apr 29 00:21:47 2017 -0700 + + os: un-duplicate code to close client on write failure + + There are three copies of the same short sequence of operations to + close down a client when a write error occurs. Create a new function, + AbortClient, which performs these operations and then call it from the + three places. + + Signed-off-by: Keith Packard + Reviewed-and-Tested-by: Michel Dänzer + (cherry picked from commit a82971b07035ee9a4e3ed01326e7c1eab34b5a19) + +commit b3de3ebcf450fd4ab1543dd2f133e45e9c0b9e7e +Author: Michel Dänzer +Date: Wed Apr 26 18:31:08 2017 +0900 + + os: Handle SIGABRT + + Without this, assertion failures can make life hard for users and those + trying to help them. + + v2: + * Change commit log wording slightly to "can make life hard", since + apparently e.g. logind can alleviate that somewhat. + * Set default handler for SIGABRT in + hw/xfree86/common/xf86Init.c:InstallSignalHandlers() and + hw/xquartz/quartz.c:QuartzInitOutput() (Eric Anholt) + + Reviewed-by: Eric Anholt + Signed-off-by: Michel Dänzer + (cherry picked from commit 27a6b9f7c84c914d0f5909ec1069d72f5035bc04) + +commit e59a32c897c9f093f54ce4b695e9aff1ba20bda2 +Author: Olivier Fourdan +Date: Fri Apr 21 09:05:51 2017 +0200 + + glamor: an FBO is not needed for Xv pixmaps + + It appears that on some hardware/diver combo such as nv30/nouveau, using + GL_ALPHA as format for 8-bit depth will cause an incomplete attachment + error (GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) when trying to bind the + texture. + + As a result, the FBO is NULL and glamor segfaults when trying to access + the FBO width/height in pixmap_priv_get_scale() in glamor_xv_render(). + + This happens with glamor-xv which uses 8-bit pixmaps, meaning that on + such hardware/driver, trying to play a video using Xv will lead to a + crash of the Xserver. This affects Xwayland, Xephyr, modesetting driver + with glamor accel. + + But the use of an FBO is not actually needed for glamox-xv, so by + disabling FBO at pixmap creation, we can avoid the issue entirely. + + Fix suggested by Eric Anholt + + Signed-off-by: Olivier Fourdan + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100710 + Fixes: https://bugzilla.redhat.com/1412814 + Reviewed-by: Eric Anholt + (cherry picked from commit 7bfb87a2137853295ecc9e544a15626cfd773a02) + +commit 6a6bf1ae046124a9d8a6f3f53f02707951c85c43 +Author: Michel Dänzer +Date: Wed Apr 12 17:58:05 2017 +0900 + + xfree86/modes: Make colormap/gamma glue code work with RandR disabled + + E.g. because Xinerama is enabled. + + Fixes crash on startup and wrong colours in that case. + + Bugzilla: https://bugs.freedesktop.org/100293 + Bugzilla: https://bugs.freedesktop.org/100294 + Fixes: 62f44052573b ("xfree86/modes: Move gamma initialization to + xf86RandR12Init12 v2") + Tested-by: Mariusz Bialonczyk + Reviewed-by: Alex Deucher + (cherry picked from commit 41dafcc2a2942fc4c94ce3cbafc4a1b413c460c3) + +commit 74126530c0c22cf3e5f8bd2dd2740fded2df098f +Author: Adam Jackson +Date: Fri Apr 7 10:24:54 2017 -0400 + + xephyr: Check for host XVideo support before trying to use it + + Otherwise xcb will treat our attempt to send xv requests as a connection + error (quite reasonably: we're asking it to emit a request for which + there is no defined major opcode), and we'll die quietly the first time + we hit KdBlockhandler. + + Signed-off-by: Adam Jackson + Reviewed-by: Eric Anholt + (cherry picked from commit 14d2fe74f4e51c5b37eab4b7475c804a0340b530) + +commit 60ae865a703cb2c51c0b00cd768a46a20d79f0f1 +Author: Daniel Stone +Date: Fri Apr 7 14:27:58 2017 +0100 + + 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 + (cherry picked from commit 0c8e6ed85810e96d84173a52d628863802a78d82) + +commit df4d01e6aa957ec8eb2814832de2f78ca42ee238 +Author: Tobias Stoeckmann +Date: Sun Mar 12 14:21:38 2017 +0100 + + dmx: Fix null pointer dereference + + A null pointer dereference can occur in dmxSync, because TimerForce + does not handle a null pointer. + + dmxSyncTimer is set to NULL a few lines above on a certain condition, + which happened on my machine. The explicit NULL check allowed me to + start Xdmx again without a segmentation fault. + + Reviewed-by: Adam Jackson + (cherry picked from commit 21eda7464d0e13ac6558edaf6531c3d3251e05df) + +commit e23000d83f8dbab4effd9f344f3d776634a1d56e +Author: Tobias Stoeckmann +Date: Sun Mar 19 17:55:07 2017 +0100 + + record: Fix OOB access in ProcRecordUnregisterClients + + If a client sends a RecordUnregisterClients request with an nClients + field larger than INT_MAX / 4, an integer overflow leads to an + out of boundary access in RecordSanityCheckClientSpecifiers. + + An example line with libXtst would be: + XRecordUnregisterClients(dpy, rc, clients, 0x40000001); + + Reviewed-by: Adam Jackson + (cherry picked from commit 40c12a76c2ae57adefd3b1d412387ebbfe2fb784) + +commit 3166138ea681537dbe164e2888ccb96bb022220b +Author: Kenneth Graunke +Date: Fri Mar 17 13:45:04 2017 -0700 + + dri2: Sync i965_pci_ids.h from Mesa. + + Copied from Mesa with no modifications. Gives us Geminilake PCI IDs. + + Signed-off-by: Kenneth Graunke + Acked-by: Eric Anholt + (cherry picked from commit 368f60d461421fe5e2bbd90652d6ac858dbff8fe) + +commit 2191f9b49e5e542e39f451d1819de00043a90e8f +Author: Olivier Fourdan +Date: Fri Mar 17 15:58:26 2017 +0100 + + glamor: avoid a crash if texture allocation failed + + Texture creation in _glamor_create_tex() can fail if a GL_OUT_OF_MEMORY + is raised, in which case the texture returned is zero. + + But the texture value is not checked in glamor_create_fbo() and glamor + will abort in glamor_pixmap_ensure_fb() because the fbo->tex is 0: + + Truncated backtrace: + Thread no. 1 (10 frames) + #4 glamor_pixmap_ensure_fb at glamor_fbo.c:57 + #5 glamor_create_fbo_from_tex at glamor_fbo.c:112 + #6 glamor_create_fbo at glamor_fbo.c:159 + #7 glamor_create_fbo_array at glamor_fbo.c:210 + #8 glamor_create_pixmap at glamor.c:226 + #9 compNewPixmap at compalloc.c:536 + #10 compAllocPixmap at compalloc.c:605 + #11 compCheckRedirect at compwindow.c:167 + #12 compRealizeWindow at compwindow.c:267 + #13 RealizeTree at window.c:2617 + + Check the value returned by _glamor_create_tex() in glamor_create_fbo() + and return NULL in the texture is zero. + + All callers of glamor_create_fbo() actually check the returned value and + will use a fallback code path if it's NULL. + + Please cherry-pick this to active stable branches. + + Bugzilla: https://bugzilla.redhat.com/1433305 + Signed-off-by: Olivier Fourdan + Reviewed-by: Eric Anholt + (cherry picked from commit 8805a48ed35afb2ca66315656c1575ae5a01c639) + +commit 0f3196bf805b1d36b786852096dd86be290a2c9d +Author: Adam Jackson +Date: Fri Mar 17 12:40:03 2017 -0400 + + ephyr: Don't clobber bitsPerPixel when using glamor + + This ends up passing 0 as the bpp argument to fb screen setup, which is + not really the best plan. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + (cherry picked from commit 83c4297d2c4fd501a9d36bc0cb7d357a8d22394c) + +commit c58bff7e9601b3eeb0be95c0a60c6588d051e923 +Author: Eric Anholt +Date: Wed Mar 15 17:51:46 2017 -0700 + + glamor: Fix dashed line rendering. + + We were binding the screen pixmap as the dash and sampling its alpha, + which is usually just 1.0 (no dashing at all). + + Please cherry-pick this to active stable branches. + + Signed-off-by: Eric Anholt + Reviewed-by: Keith Packard + Reviewed-by: Michel Dänzer + (cherry picked from commit fe0b297420fc1de8a7fab28457d0864b3182e967) + +commit 2f36c6faa0dac168cee6049d7dfac59a5e32edcd +Author: Adam Jackson +Date: Wed Nov 2 12:49:25 2016 -0400 + + xinerama: Implement graphics exposures for window->pixmap copies (v4) + + This code is using GetImage to accumulate a logical view of the window + image (since the windows will be clipped to their containing screen), + and then PutImage to load that back into the pixmap. What it wasn't + doing was constructing a region for the obscured areas of the window and + emitting graphics exposures for same. + + v2: Fix coordinate translation when the source is the root window + v3: Create sourceBox with the right coordinates initially instead of + translating (Keith Packard) + v4: Clamp the region to 15 bits to avoid overflow (Keith Packard) + + Signed-off-by: Adam Jackson + (cherry picked from commit e337de2d488a124e5fee0fdcb882567b68f1767d) + +commit 8c609764004560081bad23ac14e7d3975e83ce6b +Author: Adam Jackson +Date: Mon Jan 23 11:31:36 2017 -0500 + + parser: Fix crash when xf86nameCompare(s1 = x, s2 = NULL) + + Signed-off-by: Adam Jackson + (cherry picked from commit f1f865e909090406841a9b9416ea6259a75c2086) + +commit 9db3361b29396684122b3db056368e927e8de6d6 +Author: Olivier Fourdan +Date: Tue Mar 14 15:06:34 2017 +0100 + + glamor: Check glamor_set_destination_drawable() return value + + Check the value returned by glamor_set_destination_drawable() and use + the fallback code path where possible. + + Bugzilla: https://bugzilla.redhat.com/1417575 + Signed-off-by: Olivier Fourdan + (cherry picked from commit 455051a0f1d2bc84f605c325f647bd64d414c47d) + +commit 703ba42ce658faadb3d8ad32ea03fa9c9f0c91b1 +Author: Olivier Fourdan +Date: Tue Mar 14 14:58:26 2017 +0100 + + glamor: glamor_set_destination_drawable() can fail + + The fbo_array of a given glamor pixmap can be NULL in some cases, as + glamor_create_fbo_array() can fail to allocate the FBO array. + + If this is the case, glamor_pixmap_fbo_at() will return NULL even though + the box index is valid, and glamor_set_destination_drawable() simply + assumes glamor_pixmap_fbo_at() will return an FBO prior to pass the + value to glamor_set_destination_pixmap_fbo(), which will segfault. + + We need a way for glamor_set_destination_drawable() to fail safely and + let the caller know about the failure. + + Add a boolean return value to glamor_set_destination_drawable() for that + purpose. + + Bugzilla: https://bugzilla.redhat.com/1417575 + Signed-off-by: Olivier Fourdan + (cherry picked from commit 04b4bad7c048fd077fe839f10634c99ef1e488af) + +commit 52ab10aa9a98076227e7db40fcd4b19b55a66861 +Author: Olivier Fourdan +Date: Tue Mar 14 15:22:32 2017 +0100 + + Xephyr: Check screen resources creation success + + If the screen pixmap or the corresponding texture creation with glamor + fails, exit cleanly with an error message instead of segfaulting. + + Fixes: https://bugzilla.redhat.com/1431633 + Reviewed-by: Michel Dänzer + Signed-off-by: Olivier Fourdan + (cherry picked from commit b0ce1d088a863492f5de11e4dbde10af4261d892) + +commit 2a47e328641c061d73b3fc4602343500d18500c1 +Author: Olivier Fourdan +Date: Tue Mar 14 15:22:31 2017 +0100 + + glamor: Check for NULL pixmap in glamor_get_pixmap_texture() + + glamor_create_pixmap() would return a NullPixmap if the given size is + larger than the maximum size of a pixmap. + + But glamor_get_pixmap_texture() won't check if the given pixmap is + non-null, leading to a segfault if glamor_create_pixmap() failed. + + This can be reproduced by passing Xephyr a very large screen width, + e.g.: + + $ Xephyr -glamor -screen 32768x1024 :10 + + (EE) + (EE) Backtrace: + (EE) 0: Xephyr (OsSigHandler+0x29) + (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) + (EE) 2: Xephyr (glamor_get_pixmap_texture+0x30) + (EE) 3: Xephyr (ephyr_glamor_create_screen_resources+0xc6) + (EE) 4: Xephyr (ephyrCreateResources+0x98) + (EE) 5: Xephyr (dix_main+0x275) + (EE) 6: /lib64/libc.so.6 (__libc_start_main+0xf1) + (EE) 7: Xephyr (_start+0x2a) + (EE) 8: ? (?+0x2a) [0x2a] + (EE) + (EE) Segmentation fault at address 0x0 + (EE) + Fatal server error: + (EE) Caught signal 11 (Segmentation fault). Server aborting + (EE) + Aborted (core dumped) + + Bugzilla: https://bugzilla.redhat.com/1431633 + Reviewed-by: Michel Dänzer + Signed-off-by: Olivier Fourdan + (cherry picked from commit f40ff18c96e02ff18a367bf53feeb4bd8ee952a0) + commit d88937ba8354d6a4e0be2a398037443146701ddc Author: Adam Jackson Date: Wed Mar 15 13:44:05 2017 -0400 @@ -1105,7 +2371,7 @@ Signed-off-by: Keith Packard commit 356db2340f5b473a7191c7969586ca5b0396c48f -Merge: 9ed5b26 03d99ef +Merge: 9ed5b26354 03d99ef729 Author: Keith Packard Date: Fri Oct 28 09:05:54 2016 -0700 @@ -3046,7 +4312,7 @@ Signed-off-by: Keith Packard commit 265c4e66533243b60d92cffc7769ecadb0292c8d -Merge: 3caf671 f5f4d32 +Merge: 3caf671ed2 f5f4d32ac7 Author: Keith Packard Date: Thu Sep 15 21:32:46 2016 -0700 @@ -4231,7 +5497,7 @@ Reviewed-and-Tested-by: Michel Dänzer commit 387d6b5df3e11de5cb88db8a559128fcb62e4e5a -Merge: d2558f0 8bb9d46 +Merge: d2558f063a 8bb9d460fb Author: Keith Packard Date: Sat Aug 13 09:12:19 2016 -0700 @@ -6430,7 +7696,7 @@ Signed-off-by: Guilherme Quentel Melo commit 266cf39a8f108e2f365a9772f4ee4d9fca88eb36 -Merge: fa7b70a 848089e +Merge: fa7b70a9b8 848089e0dd Author: Adam Jackson Date: Mon Jun 20 11:21:40 2016 -0400 @@ -7073,7 +8339,7 @@ Reviewed-by: Peter Hutterer commit 3735ab965a4642273d070840bda4e827991e5219 -Merge: 7c77c42 43dbc55 +Merge: 7c77c42fe8 43dbc556f3 Author: Keith Packard Date: Thu Jun 2 07:47:16 2016 -0700 @@ -12838,7 +14104,7 @@ Reviewed-by: Adam Jackson commit 5b582a4a0350c253d729efb31b710851ae9a958e -Merge: 1d4aa67 27ad212 +Merge: 1d4aa67242 27ad21254f Author: Adam Jackson Date: Mon Oct 19 12:23:22 2015 -0400 @@ -13449,7 +14715,7 @@ Reviewed-by: Michel Dänzer commit dca5770af9e20bb1148374ebfd60931a81b148a2 -Merge: a31bbc4 21f384b +Merge: a31bbc450a 21f384b7b8 Author: Adam Jackson Date: Fri Sep 25 10:23:28 2015 -0400 @@ -14083,7 +15349,7 @@ Signed-off-by: Adam Jackson commit b25f7d0c165c4d32c73fbdf9080012503d319ba1 -Merge: db1089e 1ba4fde +Merge: db1089eafc 1ba4fde101 Author: Adam Jackson Date: Mon Sep 21 17:34:48 2015 -0400 @@ -14706,7 +15972,7 @@ Signed-off-by: Keith Packard commit 7ecdfbf0af3547295b245efa754123db65cabb43 -Merge: bca4f4b a0b4f30 +Merge: bca4f4b56c a0b4f30b1f Author: Keith Packard Date: Mon Aug 17 18:53:25 2015 -0700 @@ -14953,7 +16219,7 @@ Signed-off-by: Eric Anholt commit 2fcfa532532fbe4a7f668556808e6245ff4e36bc -Merge: cb695b0 7b0f940 +Merge: cb695b0f3b 7b0f940625 Author: Eric Anholt Date: Fri Jul 17 10:15:01 2015 -0700 @@ -15560,7 +16826,7 @@ Signed-off-by: Keith Packard commit 991712f1e8deeb6289ee0abd9910e279d6396246 -Merge: 0cd2280 3c85911 +Merge: 0cd228073a 3c859112d3 Author: Keith Packard Date: Wed Jul 8 10:43:31 2015 -0700 @@ -16112,28 +17378,28 @@ Signed-off-by: Keith Packard commit 8a8d51358cea782147bb9b5b2e0902b1e47fcf4a -Merge: b22534d 13c7d53 +Merge: b22534d8e6 13c7d53df8 Author: Keith Packard Date: Mon Jun 29 21:04:53 2015 -0700 Merge remote-tracking branch 'airlied/for-keithp' commit b22534d8e653575196180970292eaade33c090a8 -Merge: 0a625ad 780a69a +Merge: 0a625adeec 780a69aff0 Author: Keith Packard Date: Mon Jun 29 21:04:11 2015 -0700 Merge remote-tracking branch 'jwrdecoede/for-keith' commit 0a625adeec465d6c7dcdb8622c53157b4e932bb0 -Merge: 84128c1 790311c +Merge: 84128c10bb 790311cec3 Author: Keith Packard Date: Mon Jun 29 21:01:34 2015 -0700 Merge remote-tracking branch 'anholt/glamor-next' commit 84128c10bb6d34f78f7a4148b3c640748efe58e1 -Merge: 9003a3e 8c86dd5 +Merge: 9003a3e5c5 8c86dd5160 Author: Keith Packard Date: Mon Jun 29 20:59:31 2015 -0700 @@ -17157,14 +18423,14 @@ Signed-off-by: Keith Packard commit 0409b6e6d63e9cfb5dc71bb27de4b1ed0152dd9b -Merge: c39c3a9 23702dd +Merge: c39c3a9750 23702dd268 Author: Keith Packard Date: Mon May 11 16:50:43 2015 -0700 Merge remote-tracking branch 'evelikov/master' commit c39c3a97508dc384c0757a0990c07b5d7b2fe97a -Merge: 6b65e96 7470578 +Merge: 6b65e96189 7470578520 Author: Keith Packard Date: Mon May 11 16:34:48 2015 -0700 @@ -17183,7 +18449,7 @@ Signed-off-by: Keith Packard commit d7091a21d90cf463ae39ec5e8741123218ec5686 -Merge: c3ce9d8 8fb8bbb +Merge: c3ce9d8fd4 8fb8bbb306 Author: Keith Packard Date: Mon May 11 15:49:34 2015 -0700 @@ -17251,7 +18517,7 @@ Signed-off-by: Keith Packard commit 26e50e8b2cbd01d050b5ecc02d47488b53ecc08b -Merge: 28ff661 c7b49bd +Merge: 28ff661e73 c7b49bdbb9 Author: Keith Packard Date: Mon May 11 15:36:53 2015 -0700 @@ -17915,7 +19181,7 @@ Acked-by: Alex Deucher commit e608f3521eaaab972a3eea62aa04a65958351c1c -Merge: d3b9c47 5de1383 +Merge: d3b9c47c84 5de1383070 Author: Keith Packard Date: Tue Mar 31 09:06:08 2015 -0700 @@ -17987,7 +19253,7 @@ Signed-off-by: Dave Airlie commit 7088816fee0ca7d609c7bca41ef8c3fc938556f5 -Merge: 95e83ff e977b40 +Merge: 95e83ff87a e977b404d7 Author: Keith Packard Date: Fri Mar 27 06:45:56 2015 -0700 @@ -19476,7 +20742,7 @@ Signed-off-by: Keith Packard commit 5f2e8ac51ccbf7c02f25c8cb7617df0238418cd1 -Merge: 4e12d7b 4301479 +Merge: 4e12d7b6f4 4301479508 Author: Keith Packard Date: Sat Jan 10 14:51:57 2015 +1300 @@ -19560,7 +20826,7 @@ Reviewed-by: Peter Hutterer commit 1c01633877caa4239f901f02fbe113926318d030 -Merge: 3573855 e774663 +Merge: 3573855514 e774663fa5 Author: Keith Packard Date: Sun Jan 4 17:02:25 2015 -0800 @@ -20303,7 +21569,7 @@ Signed-off-by: Keith Packard commit 6704bb0ed7a10dabe8ef3bb3adf8b8a7f29a78f0 -Merge: 8aa23f2 1559a94 +Merge: 8aa23f27c7 1559a94395 Author: Keith Packard Date: Tue Dec 9 11:47:11 2014 -0800 @@ -20901,14 +22167,14 @@ Reviewed-by: Peter Hutterer commit 3e7218a6c23354d66f508b18164cac98a346b3ee -Merge: 6f4c398 bc71081 +Merge: 6f4c398a0e bc71081f0e Author: Keith Packard Date: Mon Dec 8 18:07:55 2014 -0800 Merge remote-tracking branch 'jturney/indirect-glx-fixes' commit 6f4c398a0e632b0c92e3cb8ee03ca7f5b5cc018e -Merge: aae6460 5920433 +Merge: aae6460694 5920433c3a Author: Keith Packard Date: Mon Dec 8 18:04:08 2014 -0800 @@ -21226,7 +22492,7 @@ Signed-off-by: Keith Packard commit ec0ac8970b508adcbc3d104b14a127118e4979d0 -Merge: 65cc098 0f88d4e +Merge: 65cc0982af 0f88d4e793 Author: Keith Packard Date: Mon Nov 24 15:39:51 2014 -0800 @@ -21772,7 +23038,7 @@ Signed-off-by: Keith Packard commit 3a123fbdda56b24dc01a2308137144dc960e0d61 -Merge: 9b29fa9 7ea4a21 +Merge: 9b29fa957a 7ea4a21fee Author: Keith Packard Date: Mon Oct 27 15:39:26 2014 -0700 @@ -21815,7 +23081,7 @@ Signed-off-by: Keith Packard commit 59b12c454d9c4b5a26c6ad87c53abc671b15ce37 -Merge: 5574a0a cac4b06 +Merge: 5574a0a07e cac4b064f9 Author: Keith Packard Date: Mon Oct 27 14:48:55 2014 -0700 @@ -22293,7 +23559,7 @@ Signed-off-by: Keith Packard commit de55aafa8f6a9e0dec364bec920d6f91ef2b39f0 -Merge: 462bf87 c79f824 +Merge: 462bf87c4d c79f824bf6 Author: Keith Packard Date: Thu Oct 23 17:28:24 2014 -0700 @@ -22532,21 +23798,21 @@ Signed-off-by: Keith Packard commit d634ecdf82f244ff8ce75d351fc175792d254e5c -Merge: 6622f0c 7ebf480 +Merge: 6622f0cb17 7ebf480f5e Author: Keith Packard Date: Thu Oct 9 15:08:31 2014 +0200 Merge remote-tracking branch 'ajax/dead-code' commit 6622f0cb1761501f3287ffa8d3cbca3fd30f9f0c -Merge: f12e7f4 5ecd786 +Merge: f12e7f4980 5ecd7866f7 Author: Keith Packard Date: Thu Oct 9 15:05:26 2014 +0200 Merge remote-tracking branch 'ajax/mi-cleanup' commit f12e7f4980416b74988052a04d0f2487b2c4a7e9 -Merge: da88772 aaf5e2d +Merge: da887726ee aaf5e2d643 Author: Keith Packard Date: Thu Oct 9 14:21:19 2014 +0200 @@ -22924,7 +24190,7 @@ Signed-off-by: Keith Packard commit e9651e3dbc32650fcaf90888b4cbef81da77cfcd -Merge: 9bc01df 4433bc6 +Merge: 9bc01dfc70 4433bc6d53 Author: Keith Packard Date: Thu Oct 2 10:24:33 2014 -0700 @@ -22996,7 +24262,7 @@ Signed-off-by: Keith Packard commit 78c27d12e1f4857bfcfc92afbb69d5dd989232b9 -Merge: 6e50bfa 1d6334d +Merge: 6e50bfa706 1d6334dd0c Author: Keith Packard Date: Mon Sep 29 13:04:49 2014 -0700 @@ -23453,7 +24719,7 @@ Signed-off-by: Keith Packard commit eaee6572beefca240c42791f9a3a6e547bedd410 -Merge: e3aa13b b84d25f +Merge: e3aa13b8d6 b84d25fd53 Author: Keith Packard Date: Wed Sep 17 15:49:24 2014 -0700 @@ -24140,7 +25406,7 @@ Signed-off-by: Keith Packard commit 54a1d4db825be90fb7be138e3267a15922d62f03 -Merge: 8f8dcfe f92df22 +Merge: 8f8dcfee20 f92df22a03 Author: Keith Packard Date: Thu Sep 11 18:27:41 2014 -0700 @@ -24439,7 +25705,7 @@ Reviewed-by: Colin Harrison commit 35dc7c75150733dbcef8a18b6796f49a7c48ebee -Merge: 3a51418 5f3485b +Merge: 3a51418b2d 5f3485b06e Author: Eric Anholt Date: Mon Aug 25 15:52:58 2014 -0700 @@ -24650,7 +25916,7 @@ Signed-off-by: Keith Packard commit d09c9ddb866dea31e2adf82be329d5d3489718f5 -Merge: 606b701 ab32ee3 +Merge: 606b701c56 ab32ee3589 Author: Keith Packard Date: Tue Aug 12 16:34:24 2014 -0700 @@ -25657,7 +26923,7 @@ Signed-off-by: Keith Packard commit 556cdf8fe870bc23e0393c0eed15c86f49a0b9f8 -Merge: 83701c4 1faa766 +Merge: 83701c4ee8 1faa766705 Author: Keith Packard Date: Thu Jul 24 16:51:00 2014 -0700 @@ -25888,14 +27154,14 @@ Signed-off-by: Keith Packard commit 5c2e9fa3d6c4bdf626fededce866056ba8eca502 -Merge: e678b49 6d49548 +Merge: e678b4971b 6d49548849 Author: Keith Packard Date: Thu Jul 17 20:06:21 2014 -0700 Merge remote-tracking branch 'anholt/glamor-next' commit 6d4954884908ea9894fcfe9836db1ba7bb45be61 -Merge: 9ddcb20 55f5bfb +Merge: 9ddcb20f47 55f5bfb578 Author: Eric Anholt Date: Thu Jul 17 18:00:44 2014 -0700 @@ -26427,7 +27693,7 @@ Signed-off-by: Peter Hutterer commit 9de3cc8daa4c6e877d30a0e8ccfe0cc159f1dbe3 -Merge: 9308eaf a549987 +Merge: 9308eafb7d a5499870e2 Author: Keith Packard Date: Mon Jul 7 16:53:07 2014 -0700 @@ -26678,7 +27944,7 @@ Signed-off-by: Keith Packard commit 736bed2aaf4bb672b6c7b33146fe84700baf22bd -Merge: ce581ac d90b5f8 +Merge: ce581ac3fa d90b5f8301 Author: Keith Packard Date: Mon Jun 23 14:18:03 2014 -0700 @@ -26717,7 +27983,7 @@ Signed-off-by: Keith Packard commit ea47341792cf06eda5bbdf0aca48aacc024a5be0 -Merge: 334faab a11bbd8 +Merge: 334faabe68 a11bbd875f Author: Keith Packard Date: Mon Jun 23 13:50:54 2014 -0700 @@ -27448,7 +28714,7 @@ Signed-off-by: Keith Packard commit b5526141f78df15bc5df2497bc4b4a17f1a6368d -Merge: dc8d068 a205ec3 +Merge: dc8d068847 a205ec3ab7 Author: Keith Packard Date: Mon Jun 2 13:08:23 2014 -0700 @@ -27465,7 +28731,7 @@ Signed-off-by: Keith Packard commit a6ffdc69c4ac45bc39924159c7fab5f02f720f1f -Merge: 63c48de 1c10b37 +Merge: 63c48de63b 1c10b37380 Author: Keith Packard Date: Mon Jun 2 11:30:24 2014 -0700 @@ -27490,7 +28756,7 @@ Signed-off-by: Keith Packard commit ab47ec9636b21a7f542d2e8612834915e7c8cc64 -Merge: 0df871c cfaf2ab +Merge: 0df871cf34 cfaf2abbac Author: Keith Packard Date: Mon Jun 2 11:22:48 2014 -0700 @@ -27870,7 +29136,7 @@ Reviewed-by: Keith Packard commit d60724b752613ce2ad11c6ae102bf4513f9768ff -Merge: a5b9757 15460ea +Merge: a5b9757142 15460eaed2 Author: Keith Packard Date: Thu May 8 12:58:41 2014 -0700 @@ -28082,7 +29348,7 @@ Signed-off-by: Keith Packard commit 6bd7ad914470322ddd02b50078e159234ebec643 -Merge: b92a928 e06fbe4 +Merge: b92a9289fe e06fbe4dc8 Author: Keith Packard Date: Tue Apr 29 09:37:37 2014 -0700 @@ -28865,7 +30131,7 @@ Signed-off-by: Keith Packard commit ba5c2b6c876a15fe18bc1ff1ab4e773c46bc9009 -Merge: 9c86d5f 66b6024 +Merge: 9c86d5f4f6 66b6024740 Author: Keith Packard Date: Mon Apr 21 14:59:51 2014 -0700 @@ -29285,7 +30551,7 @@ Reviewed-by: Eric Anholt commit 3028ae6c9aa37168e249e0d847b29f8e3efb05b2 -Merge: bd3de10 ec6007e +Merge: bd3de10f86 ec6007e6f7 Author: Keith Packard Date: Wed Apr 9 21:59:17 2014 -0700 @@ -29379,7 +30645,7 @@ Signed-off-by: Keith Packard commit b4d0bec22c15930abf13a7fb9d684208ccd56b1d -Merge: 3c34dd3 6e539d8 +Merge: 3c34dd3603 6e539d8817 Author: Keith Packard Date: Thu Apr 3 15:35:01 2014 -0700 @@ -29648,7 +30914,7 @@ Reviewed-by: Julien Cristau commit 84f977467b514af88019ab2791bf7a74530b54df -Merge: 9d20d18 9892471 +Merge: 9d20d18fb9 98924719d5 Author: Keith Packard Date: Thu Apr 3 10:44:28 2014 -0700 @@ -29809,7 +31075,7 @@ Signed-off-by: Peter Hutterer commit 9d20d18fb9dcc74bfa5392a2da40fd41b3e640d3 -Merge: 8468e24 bc348bd +Merge: 8468e24430 bc348bd2c4 Author: Keith Packard Date: Mon Mar 31 23:24:56 2014 -0700 @@ -30332,7 +31598,7 @@ Reviewed-by: Peter Hutterer commit bda6fdc71c25b0c3f3747f445103a1995a5713f4 -Merge: e46820f 78167a9 +Merge: e46820fb89 78167a98a8 Author: Keith Packard Date: Tue Mar 25 16:06:03 2014 -0700 @@ -30451,7 +31717,7 @@ Signed-off-by: Keith Packard commit d9fdae5f4a648a10653e18dbc602646f3e22e522 -Merge: 99bee6c 0e5d299 +Merge: 99bee6c054 0e5d2996ac Author: Keith Packard Date: Sat Mar 22 14:09:00 2014 -0700 @@ -30485,7 +31751,7 @@ Signed-off-by: Keith Packard commit 1782316744866a181ed92486bb4dca6ac46d40bd -Merge: 4fb31e4 2b77b20 +Merge: 4fb31e4824 2b77b208da Author: Keith Packard Date: Sat Mar 22 13:46:15 2014 -0700 @@ -30719,7 +31985,7 @@ Signed-off-by: Peter Hutterer commit 4fb31e4824d46edc80bb49b4065152899faa5ac6 -Merge: d18d3f6 0e531fb +Merge: d18d3f6d18 0e531fbb97 Author: Keith Packard Date: Wed Mar 19 06:43:14 2014 -0700 @@ -30735,7 +32001,7 @@ Reviewed-by: Kristian Høgsberg commit d18d3f6d18aa7827748f7ba14efd405b525883d0 -Merge: 81a4952 6649d00 +Merge: 81a4952d3d 6649d0059e Author: Keith Packard Date: Mon Mar 17 17:29:56 2014 -0700 @@ -31394,7 +32660,7 @@ Signed-off-by: Peter Hutterer commit 81a4952d3dcab9ca3a1ee399c773f5ac352036c4 -Merge: 96a28e9 7950664 +Merge: 96a28e9c91 795066477e Author: Keith Packard Date: Tue Mar 11 22:04:36 2014 -0700 @@ -31754,7 +33020,7 @@ Signed-off-by: Keith Packard commit 1c61d38528a573caadee2468ee59ea558c822e09 -Merge: 5350ae1 bf35437 +Merge: 5350ae1d38 bf3543739d Author: Keith Packard Date: Fri Mar 7 22:07:19 2014 -0800 @@ -32293,7 +33559,7 @@ Signed-off-by: Keith Packard commit 1940508a4af33d44a7a8ef24bbdcd1e31e228dab -Merge: c85ea92 ddeca92 +Merge: c85ea92af1 ddeca92749 Author: Keith Packard Date: Mon Feb 24 16:27:52 2014 -0800 @@ -32308,7 +33574,7 @@ Signed-off-by: Keith Packard commit 0840a303c47b9b10ba8e24e62956da0f1675e963 -Merge: 0f10cfd 3d71df4 +Merge: 0f10cfd4b9 3d71df48e7 Author: Keith Packard Date: Mon Feb 24 09:40:23 2014 -0800 @@ -32674,7 +33940,7 @@ Signed-off-by: Keith Packard commit 5300212ce8e9364ba26497605f3edc089af20130 -Merge: ae796d4 0b193b3 +Merge: ae796d43c9 0b193b3ac9 Author: Keith Packard Date: Sun Feb 9 16:05:42 2014 -0800 @@ -33237,14 +34503,14 @@ Signed-off-by: Keith Packard commit da1660deeb9032ecca61f4bcdc9fc2eec2ada445 -Merge: 0fbb3d7 9fc1916 +Merge: 0fbb3d711e 9fc19168e7 Author: Keith Packard Date: Mon Jan 27 19:02:15 2014 -0800 Merge remote-tracking branch 'whot/for-keith' commit 0fbb3d711efec5222a57b45a70d28fc98380f3a1 -Merge: 7ddef4f b98e493 +Merge: 7ddef4f703 b98e49379c Author: Keith Packard Date: Mon Jan 27 14:11:09 2014 -0800 @@ -33732,14 +34998,14 @@ Reviewed-by: Eric Anholt commit 25ebb9dbc9df659dec2bf6c27654a5bad2d11f94 -Merge: 409e8e2 71baa46 +Merge: 409e8e29fb 71baa466b1 Author: Keith Packard Date: Wed Jan 22 11:33:53 2014 -0800 Merge remote-tracking branch 'whot/for-keith' commit 409e8e29fbe16122ba5a4249256fc56e2e68ea93 -Merge: 457bc83 d6c8d75 +Merge: 457bc83549 d6c8d75097 Author: Keith Packard Date: Wed Jan 22 11:32:35 2014 -0800 @@ -33767,21 +35033,21 @@ Signed-off-by: Keith Packard commit 044a6ef2ff5f2c83a80b11e747f62f48830b526b -Merge: 0b932cf 77df653 +Merge: 0b932cf47a 77df653ae3 Author: Keith Packard Date: Wed Jan 22 11:28:54 2014 -0800 Merge remote-tracking branch 'jeremyhu/master' commit 0b932cf47a4df8ea0f7488e285d218fe7c10dd77 -Merge: 1d76b02 295d41f +Merge: 1d76b02fac 295d41fa2a Author: Keith Packard Date: Wed Jan 22 11:27:36 2014 -0800 Merge remote-tracking branch 'anholt/xserver-unifdef' commit 1d76b02fac79c0360ae201e4d1a8ba0e9a00e810 -Merge: 771f390 4dd62d7 +Merge: 771f390efd 4dd62d7807 Author: Keith Packard Date: Wed Jan 22 11:22:35 2014 -0800 @@ -34716,7 +35982,7 @@ Signed-off-by: Keith Packard commit 4b1ead9d3400acc3402c2480d7cc0527750c32f0 -Merge: 4d62646 929795d +Merge: 4d62646142 929795d50d Author: Keith Packard Date: Thu Dec 19 14:14:59 2013 -0800 @@ -37991,7 +39257,7 @@ Signed-off-by: Zhigang Gong commit 2dbbe2565052cc024ce0e98918ed34c1239b780a -Merge: 4d62646 7982eca +Merge: 4d62646142 7982eca622 Author: Eric Anholt Date: Wed Dec 18 11:21:07 2013 -0800 @@ -38009,7 +39275,7 @@ support code outside of glamor for now. commit 4d62646142718024b0981eb4f1fd0131e829161f -Merge: f4bfb14 81ba89d +Merge: f4bfb14f53 81ba89d670 Author: Keith Packard Date: Mon Dec 16 09:27:57 2013 -0800 @@ -39076,7 +40342,7 @@ Signed-off-by: Keith Packard commit 29240e5cbf6e7f875b128fc7bfc4d56b2350835a -Merge: 0492deb 8ff7e32 +Merge: 0492deb8f8 8ff7e32c3e Author: Keith Packard Date: Thu Nov 14 17:02:04 2013 +0900 @@ -39340,7 +40606,7 @@ Signed-off-by: Keith Packard commit a239e6faf3fce848ac0d10c48f8e817db68a493c -Merge: 43e5a43 f70a8bf +Merge: 43e5a43fa8 f70a8bf371 Author: Keith Packard Date: Mon Nov 11 15:26:12 2013 -0800 @@ -39577,7 +40843,7 @@ Signed-off-by: Keith Packard commit 977e2644b1d9e13b44debcb9a372bbc832ee32a3 -Merge: 66c5ee0 f36f5a6 +Merge: 66c5ee0ff4 f36f5a65f6 Author: Keith Packard Date: Fri Nov 1 00:34:18 2013 -0700 @@ -39776,7 +41042,7 @@ Reviewed-by: Adam Jackson commit 95bf478b78e466002c382bcde7d4d62591e9215d -Merge: abf5d5a bb745f2 +Merge: abf5d5ac12 bb745f2b45 Author: Keith Packard Date: Thu Oct 31 18:18:19 2013 -0700 @@ -39798,7 +41064,7 @@ Signed-off-by: Keith Packard commit e4636072949a76477fe7c9d54662a0b3536b1372 -Merge: 17ed7ac 5c5c1b7 +Merge: 17ed7ac1fe 5c5c1b7798 Author: Keith Packard Date: Thu Oct 31 17:05:48 2013 -0700 @@ -40062,7 +41328,7 @@ Signed-off-by: Keith Packard commit 1470c0a132806fb2ce817515ad4ddfe66eb7c98f -Merge: 04ab07c 9f4afe7 +Merge: 04ab07ca19 9f4afe7e83 Author: Keith Packard Date: Tue Oct 29 21:00:13 2013 -0700 @@ -40110,7 +41376,7 @@ Signed-off-by: Keith Packard commit b32a4c91ccd479638c2bd2c0143b6ea170c717d1 -Merge: be66809 c671e93 +Merge: be6680967a c671e935e7 Author: Keith Packard Date: Tue Oct 29 09:37:30 2013 -0700 @@ -40384,7 +41650,7 @@ Signed-off-by: Keith Packard commit e3220d7bae4548bf64e5879c981ad070ac1f78f7 -Merge: 73b2660 2523a44 +Merge: 73b2660d72 2523a445a0 Author: Keith Packard Date: Fri Oct 18 17:22:52 2013 -0700 @@ -40394,7 +41660,7 @@ also merging in the spurious merge at the top of that branch. commit f8662a133690773692dfa392ecfa3b8b56af8fa9 -Merge: 7cf1b59 2523a44 +Merge: 7cf1b595c8 2523a445a0 Author: Peter Hutterer Date: Fri Oct 18 16:50:12 2013 +1000 @@ -40777,7 +42043,7 @@ Reviewed-by: Adam Jackson commit 6a9bd103cb993e873cb82664b677ceed73c0bd85 -Merge: ea3b7db 8aae28e +Merge: ea3b7db4b7 8aae28e3cb Author: Keith Packard Date: Mon Oct 7 17:29:38 2013 -0700 @@ -40966,7 +42232,7 @@ Signed-off-by: Keith Packard commit f3b529bf25db2700addbafc7aa4fc5b126ba9929 -Merge: 4399bd3 abc2bfc +Merge: 4399bd3832 abc2bfca16 Author: Keith Packard Date: Fri Oct 4 14:04:48 2013 -0700 @@ -40983,14 +42249,14 @@ Signed-off-by: Keith Packard commit 9ccb4a63982942fdce19609d2cadbd8e51708462 -Merge: 5d2ec69 da5e201 +Merge: 5d2ec6933f da5e20127a Author: Keith Packard Date: Fri Oct 4 13:54:55 2013 -0700 Merge remote-tracking branch 'whot/for-keith' commit 5d2ec6933f6bb5116666ca1bfb07f0f20bf2a0b5 -Merge: 7d3d4ae 6ee4d9f +Merge: 7d3d4ae55d 6ee4d9f94a Author: Keith Packard Date: Fri Oct 4 13:50:04 2013 -0700 @@ -41648,7 +42914,7 @@ Signed-off-by: Adam Jackson commit 47ff382d1fce25a8b097d45b79489e891f1f1228 -Merge: 6f89ae3 3752a81 +Merge: 6f89ae3e64 3752a81580 Author: Keith Packard Date: Mon Sep 9 15:13:42 2013 -0700 @@ -42579,7 +43845,7 @@ Signed-off-by: Keith Packard commit f67d022523c59a27f3bf8791aa9ca6624318b1fd -Merge: 5a36cdd 9680f6a +Merge: 5a36cdd915 9680f6a12d Author: Keith Packard Date: Tue Aug 6 07:12:12 2013 +0200 @@ -42704,7 +43970,7 @@ Signed-off-by: Dave Airlie commit ff38bbe81ace85bf675bbaa0a9ca5f3b32ede449 -Merge: bdd1e22 4360514 +Merge: bdd1e22cbd 4360514d1c Author: Keith Packard Date: Thu Jul 25 22:50:27 2013 -0700 @@ -43007,7 +44273,7 @@ Reviewed-by: Colin Harrison commit d5ebe20f9ba9569351c4a41449866679fd60ba45 -Merge: 21ea7eb 33f7e60 +Merge: 21ea7ebb6a 33f7e60785 Author: Keith Packard Date: Mon Jul 22 20:34:41 2013 -0700 @@ -43356,7 +44622,7 @@ Signed-off-by: Keith Packard commit 227015d6544115258b74c31b700f9bd163540e24 -Merge: d9005d5 80054fc +Merge: d9005d58c0 80054fcafb Author: Keith Packard Date: Tue Jun 18 10:53:08 2013 -0700 @@ -43531,21 +44797,21 @@ Signed-off-by: Keith Packard commit cb3018d8a15add48efb3335e1f79b66378166008 -Merge: c76a1b3 6589f3b +Merge: c76a1b343d 6589f3b55e Author: Keith Packard Date: Thu May 23 19:58:46 2013 -0600 Merge remote-tracking branch 'whot/unreviewed' commit c76a1b343d6a56aa9529e87f0eda8d61355d562b -Merge: 891123c 9a5ad65 +Merge: 891123ce9d 9a5ad65330 Author: Keith Packard Date: Thu May 23 19:58:36 2013 -0600 Merge remote-tracking branch 'whot/touch-grab-race-condition-56578-v3' commit 891123ce9dac5e52685b9a921b33d8279ba52956 -Merge: 7e97166 49521ed +Merge: 7e97166c4f 49521edaf8 Author: Keith Packard Date: Thu May 23 10:30:15 2013 -0600 @@ -44318,14 +45584,14 @@ Reviewed-by: Keith Packard commit 2746c681639f9512e6e45fb8d0151b996b6aff7f -Merge: 1e6cf8e 9878e09 +Merge: 1e6cf8ec20 9878e097a7 Author: Keith Packard Date: Mon May 6 10:52:40 2013 -0700 Merge remote-tracking branch 'alanc/master' commit 1e6cf8ec20d07b73a11116564aba71b4e4291dcd -Merge: dbfeaf7 5860408a +Merge: dbfeaf7062 5860408a19 Author: Keith Packard Date: Mon May 6 10:20:21 2013 -0700 @@ -44692,21 +45958,21 @@ Reviewed-by: Ian Romanick commit 7ab98bafc9a3426fd40f8ae693430491333ba4fc -Merge: 53da26a 5ab2603 +Merge: 53da26afb7 5ab260317a Author: Keith Packard Date: Wed Apr 24 14:14:45 2013 -0700 Merge remote-tracking branch 'geertu/master' commit 53da26afb76bcce70b91c5df23d25e7e85c010cf -Merge: 5ece86e d8d3c78 +Merge: 5ece86e921 d8d3c78b6e Author: Keith Packard Date: Wed Apr 24 10:27:19 2013 -0700 Merge remote-tracking branch 'whot/for-keith' commit 5ece86e921a1df457a9baab6a2357ccda4ad6957 -Merge: ef0a726 22cab8a +Merge: ef0a726bc8 22cab8a28a Author: Keith Packard Date: Wed Apr 24 10:23:51 2013 -0700 @@ -45426,7 +46692,7 @@ Signed-off-by: Keith Packard commit c2ede8f92f0d6f15b1b2a04889cb54cd1728780b -Merge: 190b032 7050aae +Merge: 190b032151 7050aae69c Author: Keith Packard Date: Mon Mar 18 11:26:24 2013 -0700 @@ -45450,7 +46716,7 @@ Signed-off-by: Keith Packard commit 116f020102fd6c2a603069a639b113dfa31b48b7 -Merge: cf89aa5 0f537da +Merge: cf89aa5374 0f537da72d Author: Keith Packard Date: Mon Mar 18 11:18:58 2013 -0700 @@ -45719,7 +46985,7 @@ Signed-off-by: Keith Packard commit 604169af8b67afc74a292cdb9070a3a1f2d7c536 -Merge: 8f4640b 6ea59dc +Merge: 8f4640bdb9 6ea59dc2d8 Author: Keith Packard Date: Mon Mar 4 21:09:59 2013 -0800 @@ -45918,7 +47184,7 @@ Reviewed-by: Chase Douglas commit 88517ced1fa2e621be2d05a319b522b3111da516 -Merge: 82425c6 73974dd +Merge: 82425c66e7 73974dd7ea Author: Peter Hutterer Date: Fri Feb 15 11:58:52 2013 +1000 @@ -46041,7 +47307,7 @@ Reviewed-by: Mark Kettenis commit 90642948cc78834d95f7a3bddaac7ff77b68ed7e -Merge: 9a35d42 eda7dbf +Merge: 9a35d4240e eda7dbff5a Author: Keith Packard Date: Thu Feb 14 11:05:48 2013 -0800 @@ -46277,7 +47543,7 @@ Reviewed-by: Keith Packard commit 0d5bb882600ee7734af034fbea935a79d21d1e70 -Merge: b33fcb1 61a99af +Merge: b33fcb1497 61a99aff9d Author: Peter Hutterer Date: Fri Feb 8 14:10:52 2013 +1000 @@ -46709,14 +47975,14 @@ Signed-off-by: Keith Packard commit 069d8ed3eb659c48dd2b0f8b7b8c11f092fdb362 -Merge: 591c062 d6dcde7 +Merge: 591c06277b d6dcde7a03 Author: Keith Packard Date: Sun Jan 20 15:58:38 2013 -0800 Merge remote-tracking branch 'jturney/xserver-next' commit 591c06277bb120ab9615633f2d28addbd3a2aa5f -Merge: 6703a7c fa6ab7d +Merge: 6703a7c7cf fa6ab7d9b2 Author: Keith Packard Date: Sun Jan 20 15:52:26 2013 -0800 @@ -46899,7 +48165,7 @@ Reviewed-by: Colin Harrison commit fa6ab7d9b2d7fd8184f1e068360607845f5c33ab -Merge: adde4e6 0e1ab43 +Merge: adde4e6448 0e1ab433f4 Author: Peter Hutterer Date: Fri Jan 11 14:58:17 2013 +1000 @@ -47316,14 +48582,14 @@ Signed-off-by: Keith Packard commit 2a0b544f5c09f79e4ab04ea8103a5ecf59ee2e7b -Merge: 0eb1559 ba4bb3b +Merge: 0eb1559eb2 ba4bb3bc1b Author: Keith Packard Date: Wed Dec 19 12:26:00 2012 -0800 Merge remote-tracking branch 'jeremyhu/master' commit 0eb1559eb29d11e63c2b33e317590a88d86fe313 -Merge: 386e4d7 ea1d76d +Merge: 386e4d76ba ea1d76d1b6 Author: Keith Packard Date: Wed Dec 19 12:21:31 2012 -0800 @@ -47333,14 +48599,14 @@ whitespace. commit 386e4d76baaffe226d2d561ff936509454eb0ac2 -Merge: 014a5c8 9ff2e83 +Merge: 014a5c8a9d 9ff2e83151 Author: Keith Packard Date: Wed Dec 19 12:17:59 2012 -0800 Merge remote-tracking branch 'alanc/master' commit 014a5c8a9d86f2f992183bff9106354fac2c3b0e -Merge: f793b5f 2eefa5d +Merge: f793b5fd3e 2eefa5d6e8 Author: Keith Packard Date: Wed Dec 19 12:09:31 2012 -0800 @@ -47502,7 +48768,7 @@ Signed-off-by: Keith Packard commit 6d508b81857edaed03c7ee06410434ea56d9b701 -Merge: d982d87 bb6f351 +Merge: d982d87743 bb6f3514ca Author: Keith Packard Date: Mon Dec 17 11:45:45 2012 -0800 @@ -47512,7 +48778,7 @@ reviewed them... commit d982d877436377597b8ed04bca1438d2edaf53ee -Merge: da3eaf6 6b4aa8a +Merge: da3eaf6bdb 6b4aa8a359 Author: Keith Packard Date: Mon Dec 17 10:56:12 2012 -0800 @@ -47862,14 +49128,14 @@ Reviewed-by: Peter Hutterer commit bb6f3514ca17d993c1af380e8d4480d61e5bbcae -Merge: f961c3a 08da994 +Merge: f961c3a3b9 08da994a08 Author: Peter Hutterer Date: Wed Dec 12 17:25:28 2012 +1000 Merge branch 'stack-smash-on-touchpoint' into for-keith commit f961c3a3b9dfbe1201da317c24797ba7f979731e -Merge: 36740d0 39f19b3 +Merge: 36740d02b9 39f19b3f3b Author: Peter Hutterer Date: Wed Dec 12 17:25:23 2012 +1000 @@ -48070,7 +49336,7 @@ Tested-by: Frank Roscher commit b51a1bd2766e7dc975ca8f1cacc3f8bd0e1a68a3 -Merge: e9ea96d ce6b652 +Merge: e9ea96d6a8 ce6b652929 Author: Keith Packard Date: Fri Nov 30 09:31:46 2012 -0800 @@ -48092,7 +49358,7 @@ Signed-off-by: Keith Packard commit ce6b6529290f7d42717aad3fd8a83aaaaf8962de -Merge: 6e18599 3b9f1c7 +Merge: 6e18599d69 3b9f1c7017 Author: Peter Hutterer Date: Thu Nov 29 14:49:22 2012 +1000 @@ -48205,7 +49471,7 @@ Signed-off-by: Dave Airlie commit 1712a45422a63f11b2146541279616fcfda09ec6 -Merge: e54f71a 338bec3 +Merge: e54f71a2c7 338bec3005 Author: Keith Packard Date: Wed Nov 28 07:54:13 2012 -0800 @@ -48338,7 +49604,7 @@ Signed-off-by: Keith Packard commit d50a94568e06a06df682a0028579d37a7b209d15 -Merge: 87b60ef cf05db8 +Merge: 87b60efb85 cf05db8dde Author: Keith Packard Date: Tue Nov 27 15:14:26 2012 -0800 @@ -48743,7 +50009,7 @@ Signed-off-by: Peter Hutterer commit 6a6c3afe71ac82a93d9fd0034dd5bbdcf0eae1ea -Merge: 14c9e24 6f14508 +Merge: 14c9e245ba 6f145084d5 Author: Keith Packard Date: Sun Nov 18 21:50:20 2012 -0800 @@ -48853,7 +50119,7 @@ Signed-off-by: Jeremy Huddleston Sequoia commit 011f8458805e443ac9130865d2840a929a00cabf -Merge: 54ba26c b4e44b2 +Merge: 54ba26cb1f b4e44b285e Author: Keith Packard Date: Mon Nov 5 17:16:07 2012 -0800 @@ -49180,7 +50446,7 @@ Reviewed-by: Peter Hutterer commit 04f980ead5e9af066143a921e0a0e98f26f28ee5 -Merge: a194630 a4941ce +Merge: a194630f7f a4941ce496 Author: Keith Packard Date: Mon Nov 5 08:45:21 2012 -0800 @@ -49230,7 +50496,7 @@ Reviewed-by: Colin Harrison commit a194630f7f7b287cb4ea4a459df0745f4c0d4c1a -Merge: 74a3130 d511a30 +Merge: 74a3130426 d511a3016a Author: Keith Packard Date: Thu Nov 1 13:38:54 2012 -0700 @@ -49265,7 +50531,7 @@ Signed-off-by: Peter Hutterer commit 74a3130426d7e1b456e45daa517769cd3e4b58c0 -Merge: 1ca096d f32ad6d +Merge: 1ca096d5e0 f32ad6dd31 Author: Keith Packard Date: Mon Oct 29 09:09:16 2012 -0700 @@ -49419,14 +50685,14 @@ Reviewed-by: Jon TURNEY commit 53830281b4da096f9c13107d73ec9c76ff1d14cc -Merge: abc2ef5 9cbcb5b +Merge: abc2ef590c 9cbcb5bd6a Author: Keith Packard Date: Fri Oct 26 18:04:34 2012 -0700 Merge remote-tracking branch 'sandmann/for-keithp' commit abc2ef590c7cb33ebe21726f83b7347406975f95 -Merge: 0e85e5e c5396ec +Merge: 0e85e5e628 c5396ec05a Author: Keith Packard Date: Fri Oct 26 17:11:58 2012 -0700 @@ -50237,7 +51503,7 @@ Reviewed-by: Julien Cristau commit 8367dd9736d74eca971da345c2bf559ce5bbf649 -Merge: 36c18bb 7998e26 +Merge: 36c18bb81b 7998e26159 Author: Keith Packard Date: Thu Oct 4 13:08:35 2012 -0700 @@ -50301,7 +51567,7 @@ Signed-off-by: Keith Packard commit f179b13b91c8891254d31345ee04e773839e6b87 -Merge: 4dd5989 3d2b768 +Merge: 4dd5989d15 3d2b768efa Author: Keith Packard Date: Thu Oct 4 11:39:46 2012 -0700 @@ -50453,7 +51719,7 @@ Reviewed-by: Ian Romanick commit 4dd5989d15465f3f3480b521d4e36673972fa24a -Merge: 0b02150 506e343 +Merge: 0b02150c27 506e3437c7 Author: Keith Packard Date: Mon Sep 24 11:43:01 2012 -0700 @@ -50489,7 +51755,7 @@ Signed-off-by: Keith Packard commit 7722bcbab2507d263c7685b15cccbfdd52fc3a24 -Merge: 4dc2a76 f54987d +Merge: 4dc2a76740 f54987de97 Author: Keith Packard Date: Sun Sep 23 16:04:13 2012 -0700 @@ -50735,7 +52001,7 @@ Signed-off-by: Adam Jackson commit d01921ec18c21f21d377b60626cc2d3418b84a7c -Merge: 70e5766 245e7e0 +Merge: 70e5766874 245e7e0361 Author: Keith Packard Date: Thu Sep 20 17:26:48 2012 +0200 @@ -50922,7 +52188,7 @@ Signed-off-by: Keith Packard commit 856f80c8d7f22b979c72d9c70b70187df6004a03 -Merge: 0db936a b8ab93d +Merge: 0db936a5b7 b8ab93dfbc Author: Keith Packard Date: Wed Sep 5 11:02:58 2012 -0700 @@ -51067,7 +52333,7 @@ Reviewed-by: Peter Hutterer commit a557edca6152ad09c685a00e01534c35a1f00f2e -Merge: 6619f5c 24ffcfc +Merge: 6619f5c0e1 24ffcfcded Author: Keith Packard Date: Mon Aug 27 08:06:09 2012 -0700 @@ -51259,7 +52525,7 @@ Signed-off-by: Adam Jackson commit ad5fe2d9614959b68bf71e23abf7e5abac9c2734 -Merge: 16d8da5 99b94af +Merge: 16d8da5ca9 99b94af1ff Author: Keith Packard Date: Wed Aug 15 13:29:17 2012 -0700 @@ -51400,21 +52666,21 @@ Signed-off-by: Keith Packard commit 02f94b2d446f6700f791f318c551ac835af8445a -Merge: 360fa77 7f09126 +Merge: 360fa7736b 7f09126e06 Author: Keith Packard Date: Mon Aug 6 16:52:12 2012 -0700 Merge remote-tracking branch 'whot/for-keith' commit 360fa7736b214cae3ccd39feb4dc87b9e7e9734c -Merge: 2100e72 ac09a4a +Merge: 2100e72388 ac09a4a091 Author: Keith Packard Date: Mon Aug 6 16:42:34 2012 -0700 Merge remote-tracking branch 'airlied/for-keithp' commit 2100e72388a3dc174093d80c9723f021b4614d17 -Merge: 4a6f42d c37c650 +Merge: 4a6f42dda0 c37c65052f Author: Keith Packard Date: Mon Aug 6 16:40:54 2012 -0700 @@ -51630,21 +52896,21 @@ Reviewed-by: Keith Packard commit 94b514d5e4b376d05e106eb3853da511256e8545 -Merge: 7d87545 7328900 +Merge: 7d87545ba7 7328900042 Author: Keith Packard Date: Mon Aug 6 15:13:17 2012 -0700 Merge remote-tracking branch 'whot/for-keith' commit 7d87545ba7395ade507cca7bdca7052b26ed18d8 -Merge: ad707a7 988d7ac +Merge: ad707a7dcc 988d7ace19 Author: Keith Packard Date: Mon Aug 6 15:11:13 2012 -0700 Merge remote-tracking branch 'jturney/master' commit ad707a7dcc65c30e030c7600b54f734090e56a91 -Merge: 5a51cb8 884f51e +Merge: 5a51cb86f3 884f51e977 Author: Keith Packard Date: Mon Aug 6 15:08:01 2012 -0700 @@ -52115,7 +53381,7 @@ Signed-off-by: Keith Packard commit 20b4d90f32b3ca5def5be2fdf04a91ae6c47f125 -Merge: 83df169 fd228d3 +Merge: 83df169538 fd228d3184 Author: Keith Packard Date: Wed Jul 25 13:52:35 2012 -0700 @@ -52210,14 +53476,14 @@ Signed-off-by: Keith Packard commit beeea70495a8d5c4afc1b1eb2cc06a24ab1a986d -Merge: 6e438a0 6910280 +Merge: 6e438a0e18 6910280297 Author: Keith Packard Date: Tue Jul 17 12:17:39 2012 -0700 Merge remote-tracking branch 'alanc/master' commit 6e438a0e183f5a6c22070746c038af53d5b935ca -Merge: 5884e7d 75966a4 +Merge: 5884e7dede 75966a4186 Author: Keith Packard Date: Tue Jul 17 12:12:53 2012 -0700 @@ -52582,7 +53848,7 @@ Signed-off-by: Keith Packard commit 746193a7f10f11cccae05c98b933aadf58fc7375 -Merge: a2d0829 2b74949 +Merge: a2d0829531 2b74949ad0 Author: Keith Packard Date: Thu Jul 12 15:10:51 2012 -0700 @@ -52634,7 +53900,7 @@ Reviewed-by: Colin Harrison commit 656e5fea6c9ca15f932889edcc590dd01c881945 -Merge: 8b820f2 1720cd9 +Merge: 8b820f221a 1720cd9bad Author: Keith Packard Date: Thu Jul 12 08:26:35 2012 -0700 @@ -52836,7 +54102,7 @@ Signed-off-by: Keith Packard commit 6e12cb147da58bd12a158807b2cd5afac32ae70f -Merge: 532fbc2 0231279 +Merge: 532fbc29c9 023127915e Author: Keith Packard Date: Tue Jul 10 00:52:11 2012 -0700 @@ -54519,7 +55785,7 @@ Signed-off-by: Dave Airlie commit 4d24192bd24fb20d16d0054d77bffda883faeb79 -Merge: 7c9d8cb 74b786f +Merge: 7c9d8cbd36 74b786f7ce Author: Keith Packard Date: Fri Jul 6 12:17:17 2012 -0700 @@ -55051,7 +56317,7 @@ Signed-off-by: Peter Hutterer commit d84f0f823eeeecdf0498aadd3fbb1d11dabc0837 -Merge: 12bfb4c d04dfe3 +Merge: 12bfb4cf1b d04dfe3f75 Author: Peter Hutterer Date: Wed Jul 4 21:23:48 2012 +1000 @@ -55169,7 +56435,7 @@ Reviewed-by: Keith Packard commit 24525d96a3b9dba67eb75042500b2f208a2cc246 -Merge: 4cd91bd 35e3d22 +Merge: 4cd91bd4c6 35e3d22915 Author: Keith Packard Date: Mon Jul 2 22:35:39 2012 -0700 @@ -55489,14 +56755,14 @@ Signed-off-by: Keith Packard commit 8b4f0a4fdd6c15f49458bc3a8c3135b8c389240d -Merge: 59294a2 d642e71 +Merge: 59294a2179 d642e71287 Author: Keith Packard Date: Thu Jun 28 10:38:26 2012 -0700 Merge remote-tracking branch 'jturney/master' commit 59294a2179bd5bb996693af004b470932df00ac6 -Merge: 855003c 191b630 +Merge: 855003c333 191b630656 Author: Keith Packard Date: Thu Jun 28 10:11:44 2012 -0700 @@ -55728,7 +56994,7 @@ Reviewed-by: Colin Harrison commit 3ef3ce069d52dcfa932c90ccd30854a8d9daa15a -Merge: a0c8716 ff541e0 +Merge: a0c8716cdc ff541e0a1f Author: Keith Packard Date: Thu Jun 21 08:52:34 2012 -0700 @@ -55867,14 +57133,14 @@ Reviewed-by: Chase Douglas commit 8dc70acbf3d82611ac9ec1ec2a52edcc01934850 -Merge: ffb47a1 b59adc9 +Merge: ffb47a123d b59adc9c24 Author: Keith Packard Date: Thu Jun 14 13:04:29 2012 -0700 Merge remote-tracking branch 'alanc/master' commit ffb47a123ddd1233fb4229cf23483652065c5e82 -Merge: db9d2b8 b840ba5 +Merge: db9d2b8a50 b840ba5f54 Author: Keith Packard Date: Thu Jun 14 13:01:17 2012 -0700 @@ -55893,7 +57159,7 @@ Signed-off-by: Keith Packard commit 6d86b64dbaef5a16712fd1fdc3157f716d238877 -Merge: 812786f 4c68f5d +Merge: 812786f4d4 4c68f5d395 Author: Keith Packard Date: Thu Jun 14 11:05:22 2012 -0700 @@ -56530,7 +57796,7 @@ Reviewed-by: Peter Hutterer commit 3476eb38063473a7a5fcd78e2095e284118de839 -Merge: 78f0d9c 42ae2e8 +Merge: 78f0d9cdc4 42ae2e8199 Author: Keith Packard Date: Sun Jun 3 20:24:24 2012 -0700 @@ -56841,7 +58107,7 @@ Signed-off-by: Keith Packard commit 457fc77691b2df66f6dd3ba10ce7c1b61b9b42a3 -Merge: 2e237c8 5a3a98f +Merge: 2e237c838f 5a3a98fcb7 Author: Keith Packard Date: Tue May 22 10:32:29 2012 -0700 @@ -57061,7 +58327,7 @@ Reviewed-by: Dave Airlie commit ba883a0f3435d5da82a8134e696c4905eea70f23 -Merge: ae1c48e acdc4f5 +Merge: ae1c48ebc8 acdc4f54ee Author: Keith Packard Date: Thu May 17 16:49:19 2012 -0700 @@ -57416,7 +58682,7 @@ Signed-off-by: Dave Airlie commit 3a94b338aaa48b656aae1bb3a5a9d64300c0a093 -Merge: afc153a c91d00e +Merge: afc153a5b4 c91d00e0f3 Author: Keith Packard Date: Wed May 9 21:17:16 2012 -0700 @@ -57599,7 +58865,7 @@ Signed-off-by: Peter Hutterer commit 97041364a6acb2b66b5cfd06757c90a006ad50e9 -Merge: 1908272 ee542b8 +Merge: 19082726cb ee542b8559 Author: Keith Packard Date: Wed May 2 20:47:25 2012 -0700 @@ -57991,7 +59257,7 @@ Tested-By: Michal Suchanek commit d77eb7ee49ef19c2c4c7381d56e9d0f9c3fbc890 -Merge: 31e3c0f c7b1625 +Merge: 31e3c0ff7f c7b1625558 Author: Keith Packard Date: Thu Apr 19 15:48:34 2012 -0500 @@ -58010,7 +59276,7 @@ Signed-off-by: Keith Packard commit e6308e32fe2b5f74133d4d238ffa512257f6327c -Merge: 3720aa3 51a8d8d +Merge: 3720aa33ee 51a8d8dd19 Author: Keith Packard Date: Thu Apr 19 10:45:07 2012 -0500 @@ -58019,7 +59285,7 @@ Touch input changes from Chase commit 51a8d8dd19d7496fe84b37a1f0a7a03658120539 -Merge: ebf2148 00cf1c4 +Merge: ebf214876a 00cf1c40b2 Author: Peter Hutterer Date: Thu Apr 19 17:03:54 2012 +1000 @@ -58427,7 +59693,7 @@ cursor: hide cursors on LeaveVT commit 80fefc42f5e67e6b4a4b440d8991bee7e5f38359 -Merge: 9779b90 12188c8 +Merge: 9779b904c7 12188c8a8a Author: Keith Packard Date: Sun Apr 15 21:05:30 2012 -0700 @@ -58796,7 +60062,7 @@ Signed-off-by: Peter Hutterer commit 7f3997b01a8813c1d7055317eb06111aed8572c9 -Merge: 92d50c3 31646d8 +Merge: 92d50c38b2 31646d8fa9 Author: Keith Packard Date: Mon Mar 26 16:41:52 2012 -0700 @@ -59215,7 +60481,7 @@ modesetting: fix build against older Xext commit a7eac500e652f30deffd9dc5e623fab701077738 -Merge: bf876c8 d645edd +Merge: bf876c87a9 d645edd11e Author: Peter Hutterer Date: Thu Mar 22 13:13:07 2012 +1000 @@ -59349,7 +60615,7 @@ Signed-off-by: Peter Hutterer commit bf876c87a9099fdfa63ed599f8ed9a954dd023d9 -Merge: 908ab3d c0b0a9b +Merge: 908ab3d580 c0b0a9bce9 Author: Peter Hutterer Date: Thu Mar 22 11:34:43 2012 +1000 @@ -59981,7 +61247,7 @@ Signed-off-by: Dave Airlie commit 71594746c7da32e1c7986341a0da30f241a7a2be -Merge: d53235a eaba06a +Merge: d53235af85 eaba06a27c Author: Keith Packard Date: Wed Feb 22 18:07:20 2012 +1300 @@ -60226,7 +61492,7 @@ Signed-off-by: Keith Packard commit 42b6756463ee0476340656707f1088dc6c2fd220 -Merge: 7674d00 ca64912 +Merge: 7674d00b04 ca64912c02 Author: Keith Packard Date: Sat Feb 11 15:36:43 2012 +1300 @@ -61005,14 +62271,14 @@ ABI change pended for 1.13 commit e722ad6c3efa57b806ca0f2dc13114bd3619a88c -Merge: e476af4 4e44580 +Merge: e476af417d 4e44580efd Author: Keith Packard Date: Mon Jan 9 13:22:28 2012 -0800 Merge remote-tracking branch 'jturney/rpavlik-xwin-fixes' commit e476af417d83730b11054f4e5b127ab5540bb332 -Merge: f4956fa 1460083 +Merge: f4956faab9 146008358e Author: Keith Packard Date: Mon Jan 9 13:17:37 2012 -0800 @@ -61147,21 +62413,21 @@ Signed-off-by: Keith Packard commit 0b113f7cdf5228dccd51a749a339c8669e3f20ff -Merge: 0b2c649 777bf90 +Merge: 0b2c6491c5 777bf90abe Author: Keith Packard Date: Mon Jan 9 13:07:25 2012 -0800 Merge commit '777bf90abeac37087a3d0538b847742523d5acf2' commit 0b2c6491c5e5e1c9ba067299f3de61f5acee263b -Merge: 1f5587e 6b19436 +Merge: 1f5587e144 6b19436536 Author: Keith Packard Date: Mon Jan 9 11:40:23 2012 -0800 Merge remote-tracking branch 'whot/for-keith' commit 1f5587e14406c083687203030db6a11691ac9d9f -Merge: a97252d 6269977 +Merge: a97252db24 6269977c91 Author: Keith Packard Date: Mon Jan 9 11:37:59 2012 -0800 @@ -61666,7 +62932,7 @@ Signed-off-by: Keith Packard commit 8dedf9831bd80514d800f0085213296a3726dba7 -Merge: cfc4c3d cf96183 +Merge: cfc4c3d7fa cf96183122 Author: Keith Packard Date: Tue Dec 27 13:13:48 2011 -0800 @@ -61765,7 +63031,7 @@ Reviewed-by: Chase Douglas commit e395efc25f9fd60377f32c2bf1a9153d70908236 -Merge: 2bb282c fcda98c +Merge: 2bb282cd45 fcda98c486 Author: Peter Hutterer Date: Thu Dec 22 09:29:59 2011 +1000 @@ -62203,14 +63469,14 @@ Reviewed-by: Chase Douglas commit 2d34b34ed7547b829979756ccfb2cff79368d0a4 -Merge: e4b4d83 1deede3 +Merge: e4b4d83fad 1deede3c48 Author: Keith Packard Date: Tue Dec 20 00:23:33 2011 -0800 Merge remote-tracking branch 'jeremyhu/master' commit e4b4d83fad37bb737e25f7226dbcd15b892f9528 -Merge: 4df65d2 d26cb70 +Merge: 4df65d247b d26cb70272 Author: Keith Packard Date: Mon Dec 19 22:36:31 2011 -0800 @@ -62724,7 +63990,7 @@ Signed-off-by: Keith Packard commit 7da7aa96a0acb895e1fe57a9d3f2d093479cf2a2 -Merge: b79de3f 7528a6b +Merge: b79de3f42f 7528a6b88e Author: Keith Packard Date: Wed Dec 14 11:40:10 2011 -0800 @@ -62742,7 +64008,7 @@ Signed-off-by: Peter Hutterer commit 7528a6b88eb32098af4369a8bd9d70a808fa6f1c -Merge: f0de5e3 898d976 +Merge: f0de5e3990 898d976729 Author: Peter Hutterer Date: Tue Dec 13 14:19:54 2011 +1000 @@ -63622,7 +64888,7 @@ Signed-off-by: Keith Packard commit 522f8bcc0360d6a117e929a004bc956ab92037e9 -Merge: 6369b59 2abe83d +Merge: 6369b59668 2abe83df68 Author: Keith Packard Date: Thu Dec 8 20:57:26 2011 -0800 @@ -63823,14 +65089,14 @@ Signed-off-by: Keith Packard commit 3ab8ee32470f7cf1223e04238bb8c5f74ed52fc3 -Merge: 22a666f 98c4a88 +Merge: 22a666f995 98c4a888a4 Author: Keith Packard Date: Wed Dec 7 12:42:17 2011 -0800 Merge remote-tracking branch 'airlied/reviewed-fixes' commit 22a666f9952feb7248e9bb2faf777edaaac8175f -Merge: 3824f55 e89b032 +Merge: 3824f558cc e89b0324da Author: Keith Packard Date: Wed Dec 7 12:27:23 2011 -0800 @@ -64244,14 +65510,14 @@ Reviewed-by: Jamey Sharp commit 05f09354a30a4f5edd421220e1aa97be754c71bb -Merge: 3197b77 08ec4da +Merge: 3197b773c8 08ec4da6a7 Author: Keith Packard Date: Thu Dec 1 14:44:52 2011 +0000 Merge remote-tracking branch 'jcristau/for-keith' commit 3197b773c81e58cd4aa412eccaee49526012ed6f -Merge: 2dc5ba4 dfcec1d +Merge: 2dc5ba4a1b dfcec1d3f9 Author: Keith Packard Date: Thu Dec 1 14:36:58 2011 +0000 @@ -65127,7 +66393,7 @@ Signed-off-by: Keith Packard commit bfa2a1857a1efda7f171f10e855d200ca0dbcc1a -Merge: f0d50cc e7cb8f8 +Merge: f0d50cc665 e7cb8f802a Author: Keith Packard Date: Mon Nov 14 09:07:06 2011 -0800 @@ -65290,7 +66556,7 @@ Not needed in here commit 548c6fe044068ffba9b5306dc6b11f2ba22782a4 -Merge: 3881b0b ffe8ec8 +Merge: 3881b0bf1c ffe8ec86db Author: Keith Packard Date: Wed Nov 2 21:35:31 2011 -0700 @@ -65309,14 +66575,14 @@ Signed-off-by: Keith Packard commit d91aa0e6601bdf3e2cfa57b3412ab14ac486edc4 -Merge: 8df3a9c 401150d +Merge: 8df3a9ca5a 401150d7dc Author: Keith Packard Date: Wed Nov 2 21:20:07 2011 -0700 Merge remote-tracking branch 'whot/two-screen-coordinates' commit 8df3a9ca5abbd56eb2013fa65250d21a8f18865b -Merge: 8329afa ef89548 +Merge: 8329afa59d ef895484c8 Author: Keith Packard Date: Wed Nov 2 21:18:16 2011 -0700 @@ -65471,7 +66737,7 @@ Signed-off-by: Keith Packard commit 132545ff576cc69ed63f5a08127151fe550de4c3 -Merge: d0c6732 d7c44a7 +Merge: d0c6732a99 d7c44a7c97 Author: Keith Packard Date: Sun Oct 30 16:57:58 2011 -0700 @@ -65697,7 +66963,7 @@ Signed-off-by: Jeremy Huddleston commit 5701ab4a441eb113abd0851b0d71b82d12112854 -Merge: 7d50211 a41214b +Merge: 7d50211ab5 a41214bc9a Author: Keith Packard Date: Mon Oct 24 22:09:00 2011 -0700 @@ -65922,7 +67188,7 @@ Signed-off-by: Keith Packard commit d9d3a01ffca5e2de650d098231e16205781804c5 -Merge: 17416e8 fb55f8f +Merge: 17416e88dc fb55f8f790 Author: Keith Packard Date: Mon Oct 24 18:12:23 2011 -0700 @@ -66099,21 +67365,21 @@ Reviewed-by: Julien Cristau commit ff61592441916b83aeb778c74352bb5b26247f84 -Merge: af3f64f 525d417 +Merge: af3f64fb77 525d4172b2 Author: Keith Packard Date: Wed Oct 19 19:14:32 2011 -0700 Merge remote-tracking branch 'aplattner/for-master' commit af3f64fb77c13180e513ee99d1fd9a1b624fd8ea -Merge: 15bbdc1 df0dd36 +Merge: 15bbdc103b df0dd36dee Author: Keith Packard Date: Wed Oct 19 17:33:07 2011 -0700 Merge remote-tracking branch 'hramrach/pull' commit 15bbdc103b34b6b374815698946e6c409421a644 -Merge: a5266dc 323869f +Merge: a5266dcb3a 323869f329 Author: Keith Packard Date: Wed Oct 19 17:26:50 2011 -0700 @@ -66220,7 +67486,7 @@ Signed-off-by: Aaron Plattner commit c8413362049cee8c30e0a9d67f78f9ebefe8e71f -Merge: 64d2d1b b67581c +Merge: 64d2d1bef1 b67581cf82 Author: Keith Packard Date: Tue Oct 18 07:45:24 2011 -0700 @@ -66367,14 +67633,14 @@ Reviewed-by: Daniel Stone commit 64d2d1bef14c7ec7156bb3aae64eff69f9f7be54 -Merge: fb84be4 679c84b +Merge: fb84be47db 679c84bce9 Author: Keith Packard Date: Mon Oct 17 14:36:34 2011 -0700 Merge remote-tracking branch 'jeremyhu/master' commit fb84be47db7cdaff406792c08e34670e8e0cbda9 -Merge: fae7ed6 32b289e +Merge: fae7ed62ad 32b289e46c Author: Keith Packard Date: Mon Oct 17 13:50:25 2011 -0700 @@ -67136,14 +68402,14 @@ Reviewed-by: Daniel Stone commit 6378d0233d21088b6429755627b4253859892c72 -Merge: 6e965d8 98b2306 +Merge: 6e965d8a18 98b230669f Author: Keith Packard Date: Mon Oct 3 13:56:06 2011 -0700 Merge remote-tracking branch 'herrb/master' commit 6e965d8a185087a55b2100b817e18f05b3ce5a00 -Merge: 466e4b3 ac5881d +Merge: 466e4b3f17 ac5881d6d0 Author: Keith Packard Date: Mon Oct 3 13:47:49 2011 -0700 @@ -67279,14 +68545,14 @@ Signed-off-by: Keith Packard commit 9a55b3661b4172f9a32cd6fefb254e06edb1a88a -Merge: cf11ca3 84bb020 +Merge: cf11ca360c 84bb0207f6 Author: Keith Packard Date: Mon Oct 3 11:49:23 2011 -0700 Merge remote-tracking branch 'alanc/master' commit cf11ca360c2ded5ca309faa9d039160947387bb8 -Merge: 463dd87 6eae9fa +Merge: 463dd87062 6eae9fa284 Author: Keith Packard Date: Mon Oct 3 11:44:59 2011 -0700 @@ -67309,7 +68575,7 @@ Signed-off-by: Keith Packard commit f5d50b46ddeb039ab6564141f61261e94ee67637 -Merge: 57cd32e 524e544 +Merge: 57cd32e934 524e5445c0 Author: Keith Packard Date: Mon Oct 3 11:36:28 2011 -0700 @@ -67445,7 +68711,7 @@ Signed-off-by: Peter Hutterer commit 4c6bc0e76599dbe5ede2e1f48c9936a0e996b638 -Merge: 057cc92 3304bbf +Merge: 057cc92ebf 3304bbff9b Author: Peter Hutterer Date: Fri Sep 30 09:24:56 2011 +1000 @@ -67654,7 +68920,7 @@ server recycling. commit 057cc92ebfeebe81b7d01ff2c6aa2c066c8d1a64 -Merge: afb1fe6 52c9b59 +Merge: afb1fe695d 52c9b59a9f Author: Peter Hutterer Date: Thu Sep 29 14:18:35 2011 +1000 @@ -68169,7 +69435,7 @@ Reviewed-by: Aaron Plattner commit afb1fe695d197187a301c19863a128a65389b15c -Merge: 7fb4bef c7163fd +Merge: 7fb4bef039 c7163fdd30 Author: Keith Packard Date: Mon Sep 26 20:24:15 2011 -0700 @@ -70488,21 +71754,21 @@ Reviewed-by: Matt Dew commit 7fb4bef0394a5d09680985d34bce8252b61493cb -Merge: 98f4940 c90903b +Merge: 98f4940093 c90903b4f7 Author: Keith Packard Date: Wed Sep 21 14:34:27 2011 -0700 Merge remote-tracking branch 'mattst88/for-keith' commit 98f4940093dc90c3366d3e4d3ddceacbaee299dc -Merge: b018b81 c8eacae +Merge: b018b81533 c8eacae4f8 Author: Keith Packard Date: Wed Sep 21 14:30:19 2011 -0700 Merge remote-tracking branch 'alanc/master' commit b018b815333b256b5e06dd6251b2e539f09f89fa -Merge: 03d0329 0f380a5 +Merge: 03d032991d 0f380a5005 Author: Keith Packard Date: Wed Sep 21 14:17:14 2011 -0700 @@ -70832,7 +72098,7 @@ Signed-off-by: Keith Packard commit c92c83523ede8bc361526ac93d09d089fbbdae08 -Merge: 4ad271d 24b2b43 +Merge: 4ad271d06c 24b2b43e85 Author: Keith Packard Date: Wed Sep 21 13:32:06 2011 -0700 @@ -71882,7 +73148,7 @@ Signed-off-by: Keith Packard commit b8f61c11c94708d4f17720a55945dee4621315a4 -Merge: 5596f10 f51e42f +Merge: 5596f10cce f51e42f583 Author: Keith Packard Date: Fri Jul 29 14:58:58 2011 -0700 @@ -72198,7 +73464,7 @@ Signed-off-by: Peter Hutterer commit 01dbf2514aa0cc8c40a876a24e3cb0737c41da19 -Merge: 5a801af af0fbc3 +Merge: 5a801af689 af0fbc37e3 Author: Keith Packard Date: Wed Jul 13 11:44:15 2011 -0700 @@ -72364,7 +73630,7 @@ Signed-off-by: Jon TURNEY commit d4096abb591353405417e53816e5c46e904e7b25 -Merge: 61f87a7 87d4f90 +Merge: 61f87a75f2 87d4f90bfc Author: Keith Packard Date: Fri Jul 1 15:45:45 2011 -0700 @@ -72602,14 +73868,14 @@ Signed-off-by: Peter Hutterer commit 61f87a75f2bcda939a1778d39be8cfa5c886e6d8 -Merge: 0d2153a 72d9143 +Merge: 0d2153a46c 72d914335c Author: Keith Packard Date: Wed Jun 29 20:14:51 2011 -0700 Merge remote-tracking branch 'jturney/master' commit 0d2153a46cc72d5f2e6a9081a3cf153aa3eb7787 -Merge: b631c39 932513e +Merge: b631c39a21 932513e23b Author: Keith Packard Date: Wed Jun 29 20:08:32 2011 -0700 @@ -72630,7 +73896,7 @@ Signed-off-by: Keith Packard commit d5ca33ca2dd08e8436439da926d2dedaabc268fa -Merge: 38d55f0 4edf49d +Merge: 38d55f06cf 4edf49d032 Author: Keith Packard Date: Wed Jun 29 18:54:33 2011 -0700 @@ -72793,7 +74059,7 @@ after 'make clean' causing 'make distcheck' to fail. commit f968f4ace9410d827fb6b68c4e38ea9516641309 -Merge: 4dbed26 163441f +Merge: 4dbed26254 163441fe53 Author: Keith Packard Date: Tue Jun 28 09:10:14 2011 -0700 @@ -72868,7 +74134,7 @@ Tested-by: Peter Hutterer commit 8ac651552bb70ba36238f430adab2f7a7f24db6e -Merge: 945b2ff 47b6ba3 +Merge: 945b2ff814 47b6ba3204 Author: Keith Packard Date: Wed Jun 22 11:03:37 2011 -0700 @@ -73443,14 +74709,14 @@ Reviewed-by: Daniel Stone commit 02d11af01211da55e9d93fe0e1851a0c6fe57472 -Merge: bf9fd0a ab0df72 +Merge: bf9fd0a83e ab0df72cd3 Author: Keith Packard Date: Tue Jun 7 12:31:15 2011 -0700 Merge remote-tracking branch 'kibi/master' commit bf9fd0a83eef771ee018438f05e2d9f20b43539b -Merge: 21eec36 0d14056 +Merge: 21eec367d0 0d140567ba Author: Keith Packard Date: Tue Jun 7 07:45:22 2011 -0700 @@ -73800,14 +75066,14 @@ Signed-off-by: Keith Packard commit 0643c056512d10be8db223d18d6563292d57e916 -Merge: a2e6cfc d45f5b2 +Merge: a2e6cfc18a d45f5b2493 Author: Keith Packard Date: Tue May 31 23:45:07 2011 -0700 Merge remote-tracking branch 'ajax/xserver-next' commit a2e6cfc18aec1c0027b51572b03ec9f2ab074b56 -Merge: bc04065 8d84fd2 +Merge: bc04065b5c 8d84fd2566 Author: Keith Packard Date: Tue May 31 23:42:52 2011 -0700 @@ -73943,7 +75209,7 @@ Signed-off-by: Keith Packard commit 4725d6b0dbb6371af4a1b2fbef851dcfe155514a -Merge: 1b2d177 b5d8287 +Merge: 1b2d17748f b5d828789c Author: Keith Packard Date: Wed May 25 09:40:51 2011 -0600 @@ -74385,21 +75651,21 @@ Signed-off-by: Keith Packard commit ba5540221f2a46133371b4ff0d527b1a0a1443b1 -Merge: 6347a0b 728d0bf +Merge: 6347a0b802 728d0bf20e Author: Keith Packard Date: Fri May 13 13:59:36 2011 -0700 Merge remote-tracking branch 'whot/for-keith' commit 6347a0b802812bb185ada1bf0951add306935184 -Merge: 4d02c53 f144fb7 +Merge: 4d02c53971 f144fb771f Author: Keith Packard Date: Fri May 13 13:54:29 2011 -0700 Merge remote-tracking branch 'jeremyhu/master' commit 4d02c5397114ac4d15e794908f0708427e258261 -Merge: 043c175 eac37f3 +Merge: 043c175865 eac37f32b8 Author: Keith Packard Date: Fri May 13 13:52:18 2011 -0700 @@ -75101,7 +76367,7 @@ Signed-off-by: Jeremy Huddleston commit 5cb31cd0cbf83fff5f17a475e7b0e45246b19bf3 -Merge: 0f284f0 4d8735d +Merge: 0f284f0f42 4d8735d388 Author: Keith Packard Date: Fri Apr 29 09:59:49 2011 -0700 @@ -75156,14 +76422,14 @@ Signed-off-by: Jeremy Huddleston commit f6d4e75ec55ac6812f9dead42ecdffb9614578c7 -Merge: ec9ea40 4318e6a +Merge: ec9ea40178 4318e6a147 Author: Keith Packard Date: Wed Apr 27 12:08:51 2011 -0700 Merge remote-tracking branch 'jturney/master' commit ec9ea4017885cefe5519a4e890b0ff1a5518235a -Merge: c6cb70b 6f29dbf +Merge: c6cb70be1e 6f29dbf5e3 Author: Keith Packard Date: Wed Apr 27 12:01:56 2011 -0700 @@ -75877,7 +77143,7 @@ Signed-off-by: Søren Sandmann commit 918a9c99cf2ebc73acb34b95f597904b93c690d9 -Merge: 88c4622 5f496bc +Merge: 88c4622b59 5f496bc919 Author: Keith Packard Date: Fri Apr 22 11:20:16 2011 -0700 @@ -75907,7 +77173,7 @@ Signed-off-by: Keith Packard commit 302bdc3c9678c028bed71dbe9c5ba04997626b6b -Merge: 001b6b8 6f97fe5 +Merge: 001b6b8b70 6f97fe5df1 Author: Keith Packard Date: Fri Apr 22 10:48:37 2011 -0700 @@ -76637,14 +77903,14 @@ Signed-off-by: Peter Hutterer commit 3085b178626c957854385c7a88a05ec3c7eb74f3 -Merge: c9d89ce 3c45b59 +Merge: c9d89cec14 3c45b59e67 Author: Keith Packard Date: Wed Apr 6 08:34:10 2011 -0700 Merge remote-tracking branch 'jturney/master' commit c9d89cec1407550cb2568f4cef146c93607bbae6 -Merge: a52049d bc61787 +Merge: a52049de2f bc61787a20 Author: Keith Packard Date: Mon Apr 4 11:57:39 2011 -0700 @@ -76891,7 +78157,7 @@ Reviewed-by: Peter Hutterer commit a52049de2f846fe984d4db5ac8d2c1826c7b2d0b -Merge: d044d36 266ea63 +Merge: d044d36756 266ea63bc3 Author: Peter Hutterer Date: Mon Apr 4 09:58:53 2011 +1000 @@ -77067,7 +78333,7 @@ Reviewed-by: Keith Packard commit e0a2ad51dfb7373aa602335490d9666d6101b5ea -Merge: 327e1d8 3d68831 +Merge: 327e1d8801 3d688316af Author: Keith Packard Date: Wed Mar 30 10:51:27 2011 -0700 @@ -77296,14 +78562,14 @@ Signed-off-by: Keith Packard commit a095a6d4e8f5090907e8d3d66018636216300846 -Merge: a22486f ef9d04f +Merge: a22486f848 ef9d04f8ad Author: Keith Packard Date: Sun Mar 27 20:06:29 2011 -0700 Merge remote-tracking branch 'airlied/pwin-cleanup' commit a22486f848014000dc13dda470f77d4d8ea9e9f6 -Merge: 2ef4ff4 633b81e +Merge: 2ef4ff45ef 633b81e8ba Author: Keith Packard Date: Sun Mar 27 18:27:10 2011 -0700 @@ -77511,7 +78777,7 @@ Reviewed-by: Dan Nicholson commit 03f45df93469f6aef391e97007b9614e0770cc4c -Merge: efcb727 5fb329a +Merge: efcb7275ce 5fb329a04a Author: Keith Packard Date: Wed Mar 23 13:38:37 2011 +0900 @@ -77700,7 +78966,7 @@ Signed-off-by: Keith Packard commit 0ac4931753a5d5925fc844c8cbec08585aea57a7 -Merge: a8146f6 d7f8011 +Merge: a8146f6bec d7f8011418 Author: Keith Packard Date: Mon Mar 14 13:06:41 2011 -0700 @@ -78020,7 +79286,7 @@ Reviewed-by: Peter Hutterer commit c3c0e2fdd326214e271ce144e8fc2725cbd738ef -Merge: a19771e 7355555 +Merge: a19771e433 73555555a4 Author: Keith Packard Date: Wed Mar 9 14:25:54 2011 -0800 @@ -78389,28 +79655,28 @@ Signed-off-by: Keith Packard commit 6c90e839d9872a37d371578c9c423e8213922044 -Merge: 0bc95d5 edcceed +Merge: 0bc95d5b06 edcceedbd3 Author: Keith Packard Date: Thu Mar 3 14:41:44 2011 -0800 Merge remote branch 'whot/for-keith' commit 0bc95d5b06dcea65a1aa193ea907b50f7dd168b5 -Merge: 3f41f4a 69a9171 +Merge: 3f41f4adea 69a9171dbb Author: Keith Packard Date: Thu Mar 3 14:33:08 2011 -0800 Merge remote branch 'jeremyhu/master' commit 3f41f4adea4bbb90d4bda4dab600595b655e3ed8 -Merge: 8e4c3ce dae24ab +Merge: 8e4c3ce55b dae24abcd4 Author: Keith Packard Date: Thu Mar 3 14:12:36 2011 -0800 Merge remote branch 'sandmann/for-keithp' commit 8e4c3ce55b0f186bc6ba4039e30629669b6087b7 -Merge: f3d19c0 2965615 +Merge: f3d19c0cf3 296561506a Author: Keith Packard Date: Thu Mar 3 13:42:07 2011 -0800 @@ -78484,7 +79750,7 @@ Signed-off-by: Peter Hutterer commit c2207d11f243900bc2f641e08d80da63d84e97a8 -Merge: 0077993 579ee8f +Merge: 00779932de 579ee8f5d8 Author: Peter Hutterer Date: Mon Feb 28 11:26:09 2011 +1000 @@ -78739,7 +80005,7 @@ Reviewed-by: Fernando Carrijo commit 229b055bdbc53370944401649234e8a38183f4fb -Merge: 6178959 b17fc99 +Merge: 6178959e3d b17fc99cb9 Author: Keith Packard Date: Thu Feb 24 19:44:35 2011 -0800 @@ -78793,7 +80059,7 @@ Signed-off-by: Jeremy Huddleston commit 83861595782aaa05907f9cf7b236d50261d404d9 -Merge: a1cc0e5 4102a00 +Merge: a1cc0e52b0 4102a00962 Author: Keith Packard Date: Thu Feb 24 18:59:07 2011 -0800 @@ -78813,7 +80079,7 @@ Signed-off-by: Keith Packard commit 365ad68fb9f7029550505b7c276a808050cada9c -Merge: 0801afb 720c895 +Merge: 0801afbd7c 720c895db9 Author: Keith Packard Date: Thu Feb 24 18:49:40 2011 -0800 @@ -79147,7 +80413,7 @@ Signed-off-by: Cyril Brulebois commit 579ee8f5d84c3a523b7b3e3941eabb226d1d19e2 -Merge: b636893 17265cc +Merge: b636893137 17265ccb02 Author: Peter Hutterer Date: Wed Feb 23 08:44:42 2011 +1000 @@ -79453,14 +80719,14 @@ Signed-off-by: Keith Packard commit 2c77aeb39f59f1a94cc603a2e6256a62ce785c36 -Merge: 816d67d 402b329 +Merge: 816d67de2b 402b329c3a Author: Keith Packard Date: Fri Feb 18 14:29:32 2011 -0800 Merge remote branch 'jcristau/for-keith' commit 816d67de2ba9bdfe652da32cb6447a3056342b98 -Merge: a73c28f 3bbb70a +Merge: a73c28f0bd 3bbb70a1a7 Author: Keith Packard Date: Fri Feb 18 12:20:26 2011 -0800 @@ -79480,14 +80746,14 @@ Signed-off-by: Keith Packard commit 0bc9b15a622377c57e617411ccd26c4b5bf8cba4 -Merge: d1123b6 93cd4b1 +Merge: d1123b66eb 93cd4b1034 Author: Keith Packard Date: Fri Feb 18 12:04:41 2011 -0800 Merge remote branch 'ajax/for-keithp' commit d1123b66ebbcf96dd816236f54befc568a5f7c68 -Merge: 5d020c3 f6e4ace +Merge: 5d020c3135 f6e4ace9ea Author: Keith Packard Date: Fri Feb 18 11:59:25 2011 -0800 @@ -80202,7 +81468,7 @@ Reviewed-by: Ville Syrjälä commit ea1ffd3e60bdcedbec5a6f28929f8677bf45d450 -Merge: 12b0f7d 53602c3 +Merge: 12b0f7df2c 53602c3621 Author: Keith Packard Date: Wed Feb 2 15:19:55 2011 -0800 @@ -80293,21 +81559,21 @@ Signed-off-by: Keith Packard commit 246d40b685292fa6393ba22127152137494af2af -Merge: 70f2d39 8c1f75a +Merge: 70f2d39fbd 8c1f75a1d4 Author: Keith Packard Date: Wed Feb 2 14:51:33 2011 -0800 Merge remote branch 'jeremyhu/master' commit 70f2d39fbde38d0baa687f1755b6c4c686f23052 -Merge: 3a91c2d a9d3c43 +Merge: 3a91c2d21c a9d3c43a57 Author: Keith Packard Date: Wed Feb 2 14:43:19 2011 -0800 Merge remote branch 'jturney/master' commit 3a91c2d21c3231e2a011d95c3cfc01785430c1cf -Merge: ac0a00a 82b1eaa +Merge: ac0a00a840 82b1eaa6ca Author: Keith Packard Date: Wed Feb 2 14:37:00 2011 -0800 @@ -80560,21 +81826,21 @@ Signed-off-by: Jeremy Huddleston commit be3be7580b6f6fd2f7fa4d4abfe5e1ab19470223 -Merge: 57a1d9b a1d885f +Merge: 57a1d9b853 a1d885fdd6 Author: Keith Packard Date: Thu Jan 20 21:21:21 2011 -0800 Merge remote branch 'ajax/for-keithp' commit 57a1d9b85331f6fe19d5111f5163139572ffbf02 -Merge: 24ce650 6423769 +Merge: 24ce650cf4 6423769799 Author: Keith Packard Date: Thu Jan 20 21:16:24 2011 -0800 Merge remote branch 'whot/for-keith' commit 24ce650cf4f0c6fa72faecd38c53d40703e6c959 -Merge: bbdf81a 09fd010 +Merge: bbdf81a056 09fd010902 Author: Keith Packard Date: Thu Jan 20 21:11:53 2011 -0800 @@ -81082,14 +82348,14 @@ Signed-off-by: Keith Packard commit abfea17342da774aa4e3a351a73c8f2af6e6fd28 -Merge: 3611283 e65c3f8 +Merge: 361128389e e65c3f8bcc Author: Keith Packard Date: Tue Jan 18 15:19:34 2011 -0800 Merge remote branch 'ajax/for-keithp' commit 361128389e5cb0101cbd091ff8de77cf34608f6c -Merge: 65ceaad d9225b9 +Merge: 65ceaadbf0 d9225b9602 Author: Keith Packard Date: Tue Jan 18 15:18:08 2011 -0800 @@ -81427,7 +82693,7 @@ Acked-by: Gaetan Nadon commit 8456625d64bb0013a496f3b56ea3aa20cf7a6142 -Merge: aa30a86 ce74e75 +Merge: aa30a86583 ce74e7562d Author: Peter Hutterer Date: Fri Jan 7 09:35:07 2011 +1000 @@ -81772,14 +83038,14 @@ Signed-off-by: Keith Packard commit 0dede200c9ac7adbe8b8c16efacc3edc1f183cd9 -Merge: 7714357 2e78145 +Merge: 7714357f50 2e781457d4 Author: Keith Packard Date: Wed Jan 5 08:51:46 2011 -0800 Merge remote branch 'vsyrjala/misc_fixes' commit 7714357f506782973d25e270f85140b42507ed35 -Merge: 02e18c9 b01dd9d +Merge: 02e18c9fb5 b01dd9d336 Author: Keith Packard Date: Wed Jan 5 08:43:18 2011 -0800 @@ -82472,7 +83738,7 @@ Signed-off-by: Adam Jackson commit e7dc253452a1ba64718a08fdc070405b494f53cd -Merge: d110791 d5b0d58 +Merge: d1107918d4 d5b0d58573 Author: Keith Packard Date: Mon Dec 20 00:48:45 2010 -0800 @@ -82574,14 +83840,14 @@ Reviewed-by: Alan Coopersmith commit f1542f1d716723cba7c323849086585635121893 -Merge: 9716d31 8a8fdd7 +Merge: 9716d31247 8a8fdd762a Author: Keith Packard Date: Tue Dec 14 15:04:12 2010 -0800 Merge remote branch 'whot/for-keith' commit 9716d3124799c6db0d1c782aa72c72f972d5a158 -Merge: 03ea0b7 f641e4b +Merge: 03ea0b7726 f641e4b34a Author: Keith Packard Date: Tue Dec 14 15:01:36 2010 -0800 @@ -82758,7 +84024,7 @@ Signed-off-by: Keith Packard commit 519d243f0c8e3c80226701f71d2cfa62e42dbff7 -Merge: 9f9c732 446482e +Merge: 9f9c732311 446482efaa Author: Keith Packard Date: Tue Dec 7 13:39:58 2010 -0800 @@ -83216,14 +84482,14 @@ Reviewed-by: Aaron Plattner commit f5b8bd620f91214c0b87e9b04d57015655792352 -Merge: 01e9fa7 8127c83 +Merge: 01e9fa7da3 8127c83c81 Author: Keith Packard Date: Mon Dec 6 19:51:06 2010 -0800 Merge remote branch 'jajones/for-keith' commit 01e9fa7da389fc7ab834b4234b8484514144b7f4 -Merge: 79870db 68a1b0d +Merge: 79870dbf72 68a1b0de95 Author: Keith Packard Date: Mon Dec 6 19:45:11 2010 -0800 @@ -83246,14 +84512,14 @@ Signed-off-by: Keith Packard commit c4a7a5917ab828d4a0bd825a98e4d641bcb378f1 -Merge: 5de312a 714b68d +Merge: 5de312a60d 714b68d9e5 Author: Keith Packard Date: Mon Dec 6 19:28:07 2010 -0800 Merge remote branch 'jeremyhu/master' commit 5de312a60d8227ed670849ecf888ea878aa81430 -Merge: 311cad3 8f42b2b +Merge: 311cad3315 8f42b2b693 Author: Keith Packard Date: Mon Dec 6 19:22:52 2010 -0800 @@ -83604,7 +84870,7 @@ Signed-off-by: Keith Packard commit 3824417335ec00a87b51f8d05e592099b8507680 -Merge: dab064f f4f41c8 +Merge: dab064fa5e f4f41c812d Author: Keith Packard Date: Thu Dec 2 08:39:33 2010 -0800 @@ -83854,14 +85120,14 @@ Reviewed-by: Jeremy Huddleston commit 02449ee24b484c9fea501df5274d95a9f87cab23 -Merge: afd6eb6 b85f906 +Merge: afd6eb66d5 b85f9063c2 Author: Keith Packard Date: Tue Nov 30 13:30:59 2010 -0800 Merge remote branch 'ajax/for-keithp' commit afd6eb66d5ef6a59be4c03da4588aaa2ee47b9ad -Merge: b169649 ffcbfa0 +Merge: b16964910d ffcbfa0063 Author: Keith Packard Date: Tue Nov 30 13:28:13 2010 -0800 @@ -84379,14 +85645,14 @@ Reviewed-by: Keith Packard commit 4e0f8f666e61390206c42ad2087477a912525bc7 -Merge: 400ddf2 639600f +Merge: 400ddf2f58 639600fa7e Author: Keith Packard Date: Wed Nov 24 11:47:33 2010 -0800 Merge remote branch 'whot/for-keith' commit 400ddf2f58ce673c74d4e8ee829729cd3c75f8c9 -Merge: 7250f07 e074f74 +Merge: 7250f078c1 e074f745a8 Author: Keith Packard Date: Wed Nov 24 11:46:18 2010 -0800 @@ -84736,21 +86002,21 @@ Signed-off-by: Peter Hutterer commit 38c46ccf796462d068d95acb9022de2acfc3a1f7 -Merge: 3051dd5 c8998af +Merge: 3051dd5135 c8998af3eb Author: Keith Packard Date: Mon Nov 15 09:06:33 2010 +0800 Merge remote branch 'whot/for-keith' commit 3051dd5135962283fc6c7de377a7c819d8a04e7f -Merge: ed547a9 c597572 +Merge: ed547a9fc8 c5975722a9 Author: Keith Packard Date: Mon Nov 15 08:58:02 2010 +0800 Merge remote branch 'jeremyhu/master' commit ed547a9fc8a4f5cd95ef882b656a376c163eda6d -Merge: 78f94f1 84e8de1 +Merge: 78f94f19aa 84e8de1271 Author: Keith Packard Date: Mon Nov 15 08:51:27 2010 +0800 @@ -85021,7 +86287,7 @@ Reviewed-by: Adam Jackson commit 88cb61e1e55c54982b90e2a77465faaac6a0ba89 -Merge: 19f4383 4ed4915 +Merge: 19f43836d1 4ed4915bc0 Author: Peter Hutterer Date: Thu Nov 11 12:54:46 2010 +1000 @@ -85034,7 +86300,7 @@ Signed-off-by: Peter Hutterer commit 4ed4915bc0fbe9b4419ca4a0d4e43c2fee032ae9 -Merge: 291c39d ec1bfbc +Merge: 291c39dfef ec1bfbc669 Author: Keith Packard Date: Wed Nov 10 16:58:21 2010 -0800 @@ -85094,14 +86360,14 @@ Signed-off-by: Keith Packard commit c9c0f93f8ed42413a05193ee71c69fa6b41f6a03 -Merge: 73f6de1 4132b1c +Merge: 73f6de1ad8 4132b1c591 Author: Keith Packard Date: Wed Nov 10 16:11:29 2010 -0800 Merge remote branch 'whot/for-keith' commit 73f6de1ad8b5e1641102b54ff48a36ebb99ccacb -Merge: 333b6ed 3dc3aef +Merge: 333b6ed26e 3dc3aefb88 Author: Keith Packard Date: Wed Nov 10 16:02:22 2010 -0800 @@ -85262,7 +86528,7 @@ Signed-off-by: Peter Hutterer commit acba00c0c1129fe4ef7655f018cd21dbb1ee9a1f -Merge: 383dfe2 44e8165 +Merge: 383dfe23f1 44e8165414 Author: Keith Packard Date: Wed Nov 10 14:41:08 2010 -0800 @@ -85456,7 +86722,7 @@ Reviewed-by: Julien Cristau commit a52efb096e166e325deb3d6b502671f339a4fa15 -Merge: fe8d122 f72aadd +Merge: fe8d122b13 f72aadd38b Author: Keith Packard Date: Wed Nov 3 06:50:45 2010 -0700 @@ -85858,7 +87124,7 @@ Signed-off-by: Keith Packard commit d738175eaf1098e29b8afb6de8e99b5098e366a7 -Merge: 8806a04 9872e0f +Merge: 8806a04f7f 9872e0f011 Author: Keith Packard Date: Tue Oct 19 22:50:15 2010 -0700 @@ -86274,7 +87540,7 @@ Reviewed-by: Colin Harrison commit 5aff712a8d2eb9f965ecbb93216cc0bcdc327ae6 -Merge: 5b98c62 e354cca +Merge: 5b98c6267f e354ccac36 Author: Keith Packard Date: Mon Oct 18 17:16:23 2010 -0700 @@ -86485,7 +87751,7 @@ Signed-off-by: Adam Jackson commit eaf0b6a4d83d49930d21d5191f335fcac962632e -Merge: 693e92d 23229c7 +Merge: 693e92d404 23229c7ce5 Author: Peter Hutterer Date: Fri Oct 15 13:46:59 2010 +1000 @@ -86892,7 +88158,7 @@ Signed-off-by: Keith Packard commit 5532687a929426c4b1c4667f4591ed362f097c9b -Merge: 9df4fb0 682a3ee +Merge: 9df4fb0adf 682a3ee608 Author: Keith Packard Date: Tue Sep 28 08:15:07 2010 -0700 @@ -87068,7 +88334,7 @@ Signed-off-by: Keith Packard commit 98197d931b266674557b52b4a7099c6470114e55 -Merge: 01ad372 402942c +Merge: 01ad3725a8 402942cdbc Author: Keith Packard Date: Thu Sep 23 15:30:37 2010 -0700 @@ -87320,7 +88586,7 @@ Reviewed-by: Mikhail Gusarov commit c768cdda92696b636c10bb2df64167d5274b4b99 -Merge: 5a72538 2079853 +Merge: 5a725385fb 2079853632 Author: Keith Packard Date: Mon Sep 13 16:48:33 2010 -0700 @@ -87710,7 +88976,7 @@ Signed-off-by: Keith Packard commit bbffb85461eb63bfb1e01e2cb9674607b9221604 -Merge: 9a1a4cc 71972c2 +Merge: 9a1a4ccbe0 71972c2534 Author: Keith Packard Date: Fri Sep 10 11:55:34 2010 -0700 @@ -87749,7 +89015,7 @@ Signed-off-by: Keith Packard commit ca0d578d29f37b61e62556fff59732741885625b -Merge: cf88363 08adf41 +Merge: cf88363db0 08adf41f63 Author: Keith Packard Date: Fri Sep 10 11:50:27 2010 -0700 @@ -87779,7 +89045,7 @@ Signed-off-by: Keith Packard commit fa22f97af65efc2a147e9be0b7f288848965ff60 -Merge: 6edbdb7 6546665 +Merge: 6edbdb7f9e 6546665293 Author: Keith Packard Date: Fri Sep 10 11:47:41 2010 -0700 @@ -89404,7 +90670,7 @@ Reviewed-by: Patrick E. Kane commit 9fbbff3c0456f1969d45cc957d3260723caf62d7 -Merge: 95756f4 9ac8e20 +Merge: 95756f410c 9ac8e206ff Author: Keith Packard Date: Wed Jul 21 11:56:39 2010 -0700 @@ -89489,7 +90755,7 @@ Signed-off-by: Keith Packard commit 0fc02c0bf92f694889589e3648acc08d4684de37 -Merge: 0540c46 9d8ec71 +Merge: 0540c46066 9d8ec712a6 Author: Keith Packard Date: Tue Jul 13 15:05:36 2010 -0700 @@ -89586,7 +90852,7 @@ Signed-off-by: Keith Packard commit 2307ab5bc9365ebbe04568edb7c7620a23689b70 -Merge: c65280c fd4f505 +Merge: c65280ce8d fd4f5059f0 Author: Keith Packard Date: Tue Jul 6 23:54:54 2010 -0400 @@ -89749,7 +91015,7 @@ Signed-off-by: Peter Hutterer commit 69b2b5c85ec079ef49f84722daa5f148cedc2e1b -Merge: b90faa7 1432785 +Merge: b90faa7156 1432785839 Author: Keith Packard Date: Thu Jul 1 23:46:53 2010 -0400 @@ -90566,7 +91832,7 @@ Signed-off-by: Keith Packard commit a41d6e9bffbe56cfa1c3b84388a3d9f5a982f1a9 -Merge: 7e8f100 f4190fe +Merge: 7e8f100121 f4190feb25 Author: Keith Packard Date: Fri Jun 11 10:08:13 2010 -0700 @@ -90719,7 +91985,7 @@ Reviewed-by: Alan Coopersmith commit 620ca54aaa0b363fcf68cec1bd6c37e68c988352 -Merge: fd69234 8ff9b50 +Merge: fd69234db0 8ff9b502cf Author: Keith Packard Date: Thu Jun 10 19:18:53 2010 -0700 @@ -90791,7 +92057,7 @@ Reviewed-by: Eamon Walsh commit 07a093add0b7e40c4d9b9b59273e3ff9e14a88a7 -Merge: 84190d2 dc61448 +Merge: 84190d2095 dc614484f9 Author: Keith Packard Date: Thu Jun 10 18:39:10 2010 -0700 @@ -90943,7 +92209,7 @@ Signed-off-by: Peter Hutterer commit 84190d20954ef7888e4d96832c2a4b3225b4dfa2 -Merge: 4172aa1 5e1ef1f +Merge: 4172aa137c 5e1ef1f4dd Author: Keith Packard Date: Thu Jun 10 13:36:35 2010 -0700 @@ -91271,7 +92537,7 @@ Reviewed-by: Daniel Stone commit 5d4e2c594059ffb536c8e506c2623320d3c6a787 -Merge: eacc421 793dd39 +Merge: eacc42132e 793dd39946 Author: Keith Packard Date: Sat Jun 5 22:20:28 2010 -0700 @@ -91676,7 +92942,7 @@ Signed-off-by: Keith Packard commit 0f12e86e600522768f5f64eafc1230526e700ab7 -Merge: aa7c09f f114f54 +Merge: aa7c09f7d0 f114f54986 Author: Keith Packard Date: Thu Jun 3 15:09:32 2010 -0700 @@ -91858,7 +93124,7 @@ Signed-off-by: Keith Packard commit b13d7a8e09c8e3eb5003420c3c0484431e5a052b -Merge: f0ab726 dcceb90 +Merge: f0ab726d89 dcceb90b1d Author: Keith Packard Date: Thu Jun 3 07:01:26 2010 -0700 @@ -92323,7 +93589,7 @@ Reviewed-by: Dan Nicholson commit b11465a6ecdc2b8373e6fc8af427edc4602bcaa1 -Merge: 7c085ae 0abf065 +Merge: 7c085aebfe 0abf065e38 Author: Keith Packard Date: Mon May 24 22:18:31 2010 -0700 @@ -92462,7 +93728,7 @@ Reviewed-by: Alex Deucher commit 2ffffb4daf6161e6a22d81442ecf6209acc9e975 -Merge: b5e0f6d d530608 +Merge: b5e0f6d8f4 d5306084b5 Author: Keith Packard Date: Sun May 23 23:22:08 2010 -0700 @@ -92837,14 +94103,14 @@ Signed-off-by: Keith Packard commit 103507af0c0ce7d7482a67163249864af36a2374 -Merge: 8bd8d81 99fcf65 +Merge: 8bd8d81dc4 99fcf655bd Author: Keith Packard Date: Wed May 19 22:27:53 2010 -0700 Merge remote branch 'vignatti/bus-cleanup' commit 8bd8d81dc473bf72ea108b1896a55e32defa02e2 -Merge: c620a1c 66d5ecc +Merge: c620a1c0a4 66d5ecc5fd Author: Keith Packard Date: Wed May 19 22:27:20 2010 -0700 @@ -92864,7 +94130,7 @@ Signed-off-by: Keith Packard commit 8b6c1809c09f832051327d86e1a25dc0ec5cc878 -Merge: d88ba77 c38552d +Merge: d88ba7721d c38552d115 Author: Keith Packard Date: Wed May 19 12:58:02 2010 -0700 @@ -93340,7 +94606,7 @@ Signed-off-by: Keith Packard commit f87002cb7d8729b1da4cbefe7653f4cfd3a2d956 -Merge: a4fbc0f 890f536 +Merge: a4fbc0feda 890f536f8d Author: Keith Packard Date: Fri May 14 11:46:29 2010 -0700 @@ -93378,7 +94644,7 @@ Reviewed-by: Keith Packard commit 795432d4a92ed5b9fa4d9163e73c8e4fe4c74534 -Merge: f2a0c32 92ed75a +Merge: f2a0c324e3 92ed75ac59 Author: Keith Packard Date: Thu May 13 18:22:49 2010 -0700 @@ -93660,7 +94926,7 @@ Reviewed-by: Eamon Walsh commit 59857ee5da5f1f3f4900292581b9586477513211 -Merge: 21ceae9 432cbbe +Merge: 21ceae9002 432cbbec19 Author: Keith Packard Date: Wed May 12 16:48:08 2010 -0700 @@ -93881,7 +95147,7 @@ Reviewed-by: Adam Jackson commit 3df22b293c1f1d27e7ce16662744c578d35b5aba -Merge: fa6c701 9de0e31 +Merge: fa6c701257 9de0e31746 Author: Keith Packard Date: Tue May 11 08:38:44 2010 -0700 @@ -94011,7 +95277,7 @@ Signed-off-by: Keith Packard commit 95074538cce93abc1739a4d9dd78b0500fb8fec9 -Merge: c079977 2160ff5 +Merge: c0799779df 2160ff5240 Author: Keith Packard Date: Mon May 10 13:49:33 2010 -0700 @@ -94239,7 +95505,7 @@ Signed-off-by: Keith Packard commit a80b1f888f2f7674a715d512ab950eeadee20448 -Merge: 4971099 0efd7b8 +Merge: 4971099860 0efd7b8d82 Author: Keith Packard Date: Sun May 2 16:35:17 2010 -0700 @@ -94348,7 +95614,7 @@ Signed-off-by: Keith Packard commit 986d46144b183a36b4e98aed95eca0c55a8b4251 -Merge: a974c8e b5b8f91 +Merge: a974c8e7cb b5b8f91b82 Author: Keith Packard Date: Fri Apr 30 12:40:53 2010 -0700 @@ -94358,21 +95624,21 @@ hw/xfree86/common/xf86xv.c commit a974c8e7cba40c8d7d1b91e07de8c414627b71a2 -Merge: 6581bc4 02e8622 +Merge: 6581bc4591 02e86221b8 Author: Keith Packard Date: Fri Apr 30 12:33:00 2010 -0700 Merge remote branch 'whot/for-keith' commit 6581bc4591746c906d97f8b868f946c47bc6d756 -Merge: 0e91e19 d073e51 +Merge: 0e91e19f78 d073e51bee Author: Keith Packard Date: Fri Apr 30 12:29:52 2010 -0700 Merge remote branch 'yselkowitz/master' commit 0e91e19f783d21198fc2e210203e0f10040a9cd0 -Merge: 81a081c edbc56c +Merge: 81a081c1f0 edbc56c088 Author: Keith Packard Date: Fri Apr 30 12:27:51 2010 -0700 @@ -94566,7 +95832,7 @@ Signed-off-by: Peter Hutterer commit 3f63db89191701139d45332ca80b9d6eb327c773 -Merge: 41bdb6c 54e51de +Merge: 41bdb6c003 54e51de8cd Author: Keith Packard Date: Mon Apr 26 20:18:13 2010 -0700 @@ -94963,7 +96229,7 @@ Signed-off-by: Keith Packard commit 7ac6a6b7d0dfc5e021270b2898accd3425aa008a -Merge: 0782894 f7ef6fd +Merge: 0782894b57 f7ef6fd9a1 Author: Keith Packard Date: Wed Apr 21 16:07:38 2010 -0700 @@ -95221,7 +96487,7 @@ Signed-off-by: Keith Packard commit b3ab978df861c08298f57529e3db980489055c35 -Merge: a92b2c2 0ad022a +Merge: a92b2c2c8d 0ad022a729 Author: Keith Packard Date: Sun Apr 18 22:01:40 2010 -0700 @@ -95383,7 +96649,7 @@ Signed-off-by: Peter Hutterer commit e424d5812300e82de375d83dc0b490a76d865016 -Merge: 5b0faf3 0e7703f +Merge: 5b0faf3554 0e7703f9b1 Author: Keith Packard Date: Thu Apr 15 15:01:34 2010 -0700 @@ -95569,7 +96835,7 @@ Signed-off-by: Keith Packard commit ab60975fe28cb135b4183c57b7f50d3615921c1f -Merge: adbbc66 59edde7 +Merge: adbbc66108 59edde7c28 Author: Keith Packard Date: Mon Apr 12 21:40:41 2010 -0700 @@ -95629,7 +96895,7 @@ Reviewed-by: Keith Packard commit d7c98c1c81ae272f66edb05fde20f4c616604add -Merge: 82cf3a4 03ccbd2 +Merge: 82cf3a4ae0 03ccbd2579 Author: Keith Packard Date: Wed Apr 7 22:25:51 2010 -0700 @@ -95797,14 +97063,14 @@ Signed-off-by: Keith Packard commit cbda58c963af5bb9c4643e9017dd4eec589ceff3 -Merge: a7698a6 c983f40 +Merge: a7698a6776 c983f40fe4 Author: Keith Packard Date: Wed Apr 7 15:51:38 2010 -0700 Merge remote branch 'yselkowitz/master' commit a7698a677682a32960b885c22fdba2add70f4658 -Merge: 495cec7 165a4a9 +Merge: 495cec794d 165a4a9c7d Author: Keith Packard Date: Tue Apr 6 12:36:15 2010 -0700 @@ -95951,14 +97217,14 @@ Signed-off-by: Keith Packard commit 57cb1a854a1b6d91d214b3fa250a7df2ed20d433 -Merge: 4b3d67a 28a5f14 +Merge: 4b3d67a764 28a5f14b40 Author: Keith Packard Date: Mon Mar 29 11:46:00 2010 -0700 Merge remote branch 'jeremyhu/master' commit 4b3d67a7647f696957727948f9757a261e15d14e -Merge: 579715f aa91508 +Merge: 579715f830 aa91508356 Author: Keith Packard Date: Mon Mar 29 11:44:07 2010 -0700 @@ -96375,7 +97641,7 @@ Signed-off-by: Keith Packard commit b29220dc765cb6f878c5466e00e4bd21f3bd803d -Merge: c3da766 ed31d50 +Merge: c3da76643a ed31d50b5f Author: Keith Packard Date: Sun Mar 21 23:01:58 2010 -0700 @@ -96623,7 +97889,7 @@ Bump to 1.7.99.902 -- 1.8 RC2 commit 235fa5030428084368e5be57fca695647b7b79c4 -Merge: 1c612ac fa5103a +Merge: 1c612acca8 fa5103a02b Author: Keith Packard Date: Sun Mar 21 15:38:40 2010 -0700 @@ -96649,7 +97915,7 @@ Signed-off-by: Keith Packard commit 95ca39b981624df5338a16b506289014c431ae82 -Merge: e7ff956 bf18191 +Merge: e7ff956638 bf181915e1 Author: Keith Packard Date: Sun Mar 21 15:24:06 2010 -0700 @@ -96837,7 +98103,7 @@ Signed-off-by: Keith Packard commit df9b6f16b27398545cd4cff8a56dd59a3813351d -Merge: 5f169f5 5172253 +Merge: 5f169f5493 5172253bae Author: Keith Packard Date: Mon Mar 15 08:26:58 2010 -0700 @@ -97162,7 +98428,7 @@ Signed-off-by: Keith Packard commit 780c95caf9888fa4548dfe4c1c78a7e7ce99a9ed -Merge: 018b177 758f697 +Merge: 018b177591 758f697175 Author: Keith Packard Date: Wed Feb 24 09:59:19 2010 -0800 @@ -97330,7 +98596,7 @@ Signed-off-by: Keith Packard commit ca9c2472d74c7107ccc117e2c9c723c168d2eccf -Merge: e40ba57 02d1116 +Merge: e40ba5798c 02d1116e7e Author: Keith Packard Date: Mon Feb 22 13:26:06 2010 -0800 @@ -97668,7 +98934,7 @@ Bump to 1.7.99.901 -- 1.8 RC1 commit 57ffeb3f2b3313dcef92a396f1f55fdbc064b2c5 -Merge: c6d9bc0 c76248f +Merge: c6d9bc092c c76248fda9 Author: Keith Packard Date: Fri Feb 12 13:36:32 2010 -0800 @@ -98395,7 +99661,7 @@ Signed-off-by: Keith Packard commit 0b21a0416b4cb2c32da5e3fda05a0682eb97d56e -Merge: 1e6fd65 837bd2b +Merge: 1e6fd65d0b 837bd2bbc0 Author: Keith Packard Date: Wed Jan 27 14:14:15 2010 -0800 @@ -98714,7 +99980,7 @@ Signed-off-by: Jeremy Huddleston commit 44f9c3d16c9c9b3362306a9ba26ee52e7baafeca -Merge: 032f978 84956ca +Merge: 032f97808c 84956ca43b Author: Keith Packard Date: Wed Jan 13 10:19:21 2010 -0800 @@ -98870,7 +100136,7 @@ Signed-off-by: Keith Packard commit 8ab4749aaefb3727b9fc58bb37b50a2d07eb1531 -Merge: 8d53d84 9437504 +Merge: 8d53d84485 9437504b21 Author: Keith Packard Date: Thu Jan 7 10:32:21 2010 -0800 @@ -99233,14 +100499,14 @@ Signed-off-by: Julien Cristau commit 9fad8f06fb89ac2ae05bea0fa24cab3df7677297 -Merge: 871bbe1 42e8c92 +Merge: 871bbe1d87 42e8c9224e Author: Keith Packard Date: Wed Dec 30 09:28:19 2009 -0800 Merge remote branch 'dbn/inputclass' commit 871bbe1d87fa3c7ebd075e1d1eec33e45b08493d -Merge: db2c6f7 e116563 +Merge: db2c6f7c91 e1165632bd Author: Keith Packard Date: Wed Dec 30 09:16:45 2009 -0800 @@ -99555,7 +100821,7 @@ Signed-off-by: Keith Packard commit 7dc78db79edd15b971110acaf16bbe7f69e40bdb -Merge: 81a623f b44c9be +Merge: 81a623f036 b44c9be244 Author: Keith Packard Date: Tue Dec 22 21:25:18 2009 -0800 @@ -99736,14 +101002,14 @@ Reviewed-by: Alan Coopersmith commit 0cb638dc6822e54567a1731ea1cf588475a226e9 -Merge: 6a6a041 fbdf493 +Merge: 6a6a041c2d fbdf493a3e Author: Keith Packard Date: Wed Dec 16 21:58:44 2009 -0800 Merge remote branch 'alanc/master' commit 6a6a041c2d8d32f6355db77cd59cff371038c683 -Merge: 8127465 d503195 +Merge: 8127465f44 d503195504 Author: Keith Packard Date: Wed Dec 16 21:57:32 2009 -0800 @@ -100010,7 +101276,7 @@ Acked-by: Soeren Sandmann commit d3e054ac07dae12a82ad764b0622fddbef4b9ec5 -Merge: 12fb318 97a6454 +Merge: 12fb31815d 97a6454ea5 Author: Keith Packard Date: Fri Dec 11 09:22:22 2009 -0800 @@ -100229,7 +101495,7 @@ Signed-off-by: Keith Packard commit 98c8b752254a27ab1aaf881b36bfda0f74929d0a -Merge: 0e084d8 91c1bd7 +Merge: 0e084d8c71 91c1bd78f7 Author: Keith Packard Date: Wed Dec 2 15:28:07 2009 -0800 @@ -101227,7 +102493,7 @@ Signed-off-by: Keith Packard commit 7442f3355ab8f0bb2b1a270da18c65d8d315d4dd -Merge: 0573042 7897b6c +Merge: 0573042cdd 7897b6c2d4 Author: Keith Packard Date: Wed Nov 4 08:55:20 2009 -0800 @@ -101488,7 +102754,7 @@ Signed-off-by: Keith Packard commit deb72fc61464250af8185dab2da8ee09f13c55d8 -Merge: 55f4c80 a60e676 +Merge: 55f4c80a4c a60e676f1f Author: Keith Packard Date: Wed Oct 28 10:54:13 2009 -0700 @@ -101639,7 +102905,7 @@ Signed-off-by: Keith Packard commit 1228e2d052f0bb98175c55c194340773b5fedb40 -Merge: 08e7f62 52bc6d9 +Merge: 08e7f62faf 52bc6d9449 Author: Keith Packard Date: Wed Oct 21 22:46:53 2009 +0900 @@ -102069,7 +103335,7 @@ Signed-off-by: Keith Packard commit 6e158003e80534ce007290f75c89d698aec1d00b -Merge: 2b14e14 5e762f0 +Merge: 2b14e14203 5e762f0e2f Author: Keith Packard Date: Tue Oct 13 18:40:42 2009 -0700 @@ -102311,7 +103577,7 @@ Signed-off-by: Keith Packard commit 68304215e25876ee639015969b4f07e1c9c515e0 -Merge: 6676f49 315aaef +Merge: 6676f49e34 315aaef557 Author: Keith Packard Date: Tue Oct 6 22:41:42 2009 -0700 @@ -109714,7 +110980,7 @@ xace: fix a bad send access hook call. commit 993daf06497c85bb6a1e70592df380503d721dfb -Merge: 2bda50e e1e8c7d +Merge: 2bda50ee14 e1e8c7ddd7 Author: Peter Hutterer Date: Thu Jun 4 15:11:36 2009 +1000 @@ -109777,7 +111043,7 @@ s/MIN/min/, s/MAX/max/ (#2968) commit 6de67d3206f0a4e307070714564c19efc84da2ec -Merge: af4e658 7f027d9 +Merge: af4e658401 7f027d9dc0 Author: Peter Hutterer Date: Wed Jun 3 16:11:33 2009 +1000 @@ -110172,7 +111438,7 @@ These have been nops since 2006 and functionally void since 7.0. commit d7aef3f663f4b5d861799f8615dcd301d5ce2906 -Merge: a25f248 e08c6a0 +Merge: a25f248fc3 e08c6a0752 Author: Peter Hutterer Date: Thu May 28 17:20:58 2009 +1000 @@ -110224,7 +111490,7 @@ Signed-off-by: Federico Mena Quintero commit b12010e10f38951358b48ff1076c026f943b7cc3 -Merge: 6e69272 f1441b8 +Merge: 6e69272473 f1441b8353 Author: Søren Sandmann Pedersen Date: Wed May 27 15:56:30 2009 -0400 @@ -112058,7 +113324,7 @@ Signed-off-by: Alan Coopersmith commit 057fc9a4f89282e440b5e11458f1dd8655879dd8 -Merge: 95628b7 932d6bc +Merge: 95628b797e 932d6bcbb6 Author: Peter Hutterer Date: Fri Apr 24 16:15:47 2009 +1000 @@ -112234,7 +113500,7 @@ Signed-off-by: Peter Hutterer commit d5ad14c8ed4d8360e1df8cd0bacf6a7c9c31df91 -Merge: 54716fd 0e0642e +Merge: 54716fd3db 0e0642ee94 Author: Peter Hutterer Date: Sun Apr 19 22:28:22 2009 +1000 @@ -113061,7 +114327,7 @@ Signed-off-by: Alan Coopersmith commit 6c3b633299f12051fcf37fb8439f358de876cf03 -Merge: adf21db 0cfd481 +Merge: adf21dba76 0cfd481308 Author: Peter Hutterer Date: Tue Apr 7 19:36:27 2009 +1000 @@ -119562,7 +120828,7 @@ Signed-off-by: Peter Hutterer commit 22d4ddcc3d63b7fbf2a23f5162075e4ee06db781 -Merge: d2dad38 c3bf15b +Merge: d2dad384f5 c3bf15ba85 Author: Matthieu Herrb Date: Sun Dec 7 23:56:15 2008 +0100 @@ -120518,7 +121784,7 @@ New version of dolt commit 4715f079b9c61362755c95c1ebf89c97cc6fff2b -Merge: 9ffc671 ed597f1 +Merge: 9ffc671939 ed597f19fd Author: Keith Packard Date: Tue Nov 25 22:19:08 2008 -0800 @@ -121399,7 +122665,7 @@ Signed-off-by: Peter Hutterer commit 387563b77743d92be83420d982eaf57f5459a883 -Merge: 85f650c f6e01fa +Merge: 85f650c9b7 f6e01fa1b8 Author: Matthieu Herrb Date: Sun Nov 23 13:15:46 2008 +0100 @@ -121801,7 +123067,7 @@ Signed-off-by: James Cloos commit ba4e08244ed3923eecf26842dfc1df17c696e053 -Merge: 81fd17f 5bad5d2 +Merge: 81fd17f5f4 5bad5d2abe Author: Alex Deucher Date: Thu Nov 13 15:04:18 2008 -0500 @@ -128905,7 +130171,7 @@ Signed-off-by: Peter Hutterer commit 26c1958c322be3ac4dfec9ba2c41c5202bd03709 -Merge: 5fe5778 2958610 +Merge: 5fe57787fa 29586101dc Author: Peter Hutterer Date: Mon May 26 17:37:31 2008 +0930 @@ -129384,7 +130650,7 @@ Big boss says UniSA isn't unique enough. Who am I to argue? commit 7509fb498c02fe1cebe4139612b8871ec877c130 -Merge: 2ae3bed dfb7de6 +Merge: 2ae3bed337 dfb7de6571 Author: Peter Hutterer Date: Wed May 21 16:25:35 2008 +0930 @@ -129444,7 +130710,7 @@ fb: shut up two compiler warnings. commit 99d28c3ef37aeffe7d8ec41e45a650ba248c6958 -Merge: fc7e256 0178b6a +Merge: fc7e2566cc 0178b6a4ab Author: Peter Hutterer Date: Tue May 20 10:20:14 2008 +0930 @@ -130044,7 +131310,7 @@ commit 7b3066d9b9099135d9c49e0682161d5568fc535b -Merge: 2a3d142 315f089 +Merge: 2a3d1421e0 315f089056 Author: Drew Parsons Date: Sat May 10 00:01:15 2008 +1000 @@ -130144,7 +131410,7 @@ Bug #13104: Remove broken XAA a1 glyph fast path. commit ddaecfa13cefee7c66b39b606c8640c6544d4943 -Merge: 9c2e087 cf20df3 +Merge: 9c2e0871cf cf20df39cc Author: Adam Jackson Date: Thu May 8 14:33:58 2008 -0400 @@ -130402,7 +131668,7 @@ xfree86: don't try to repaint the cursor before cursors exist. commit 334456952930cb3e55c02fcdada2d0c074cd0520 -Merge: 8e56fd9 3b8d534 +Merge: 8e56fd9728 3b8d53452c Author: Peter Hutterer Date: Fri May 2 11:00:14 2008 +0930 @@ -131311,7 +132577,7 @@ (cherry picked from commit a033c0b3dbb3b963261faa39f0236457cb00ff44) commit 8190ef87547b704848231bde10b1cdffc6442790 -Merge: 179a082 2ddbfd3 +Merge: 179a082c26 2ddbfd3457 Author: Peter Hutterer Date: Tue Apr 22 18:04:05 2008 +0930 @@ -131949,7 +133215,7 @@ EXA: Teach exaCompositeFallbackPictDesc() about x8r8g8b8. commit 1a9d7205cd5640eb65f019336097d86301942ea7 -Merge: 90f491c 6866e84 +Merge: 90f491cf8e 6866e84e3c Author: Peter Hutterer Date: Mon Apr 14 16:25:58 2008 +0930 @@ -132134,7 +133400,7 @@ X.Org Bug 14418 commit 90f491cf8eb869f27c4278b26c1bb84432b12d63 -Merge: cbe01b3 b4380d8 +Merge: cbe01b3083 b4380d8030 Author: Peter Hutterer Date: Fri Apr 11 08:29:52 2008 +0930 @@ -132327,7 +133593,7 @@ (cherry picked from commit 126e9bc8c480b403dedc44c1e8c4fe1476340ed9) commit cbe01b3083eb65c9d4259b1071683febebf11600 -Merge: 5ffbcfe 389dae7 +Merge: 5ffbcfec3d 389dae73cc Author: Peter Hutterer Date: Wed Apr 9 10:46:46 2008 +0930 @@ -132427,7 +133693,7 @@ EXA: Fix TS origin computation when implementing RenderComposite with tiling. commit fd06e8f8c1d82a9d91931e8532bee0fd9c9ca9ab -Merge: b46a009 6c0cfe3 +Merge: b46a009186 6c0cfe3d43 Author: Peter Hutterer Date: Mon Apr 7 07:56:41 2008 +0930 @@ -132439,7 +133705,7 @@ dix/dispatch.c commit 539bf3c2836727e7560c64144071b086f8ea32fe -Merge: 3ab33e7 6c0cfe3 +Merge: 3ab33e7cd4 6c0cfe3d43 Author: Sascha Hlusiak Date: Mon Apr 7 00:10:16 2008 +0200 @@ -132900,7 +134166,7 @@ RH BZ 435216 commit 9df915b84d45d39aed7557c98883b20a66da2e96 -Merge: 47eb658 333e712 +Merge: 47eb658e80 333e7123dc Author: Sascha Hlusiak Date: Tue Mar 25 17:50:50 2008 +0100 @@ -133442,7 +134708,7 @@ XACE: Check the return value of the selection create hook call. commit 4f2cd0ed96d3b10c78774c721c2ffbfb0556dddd -Merge: 23ae68a 453661a +Merge: 23ae68a4c7 453661a9e1 Author: Peter Hutterer Date: Tue Mar 4 18:11:10 2008 +1030 @@ -134901,7 +136167,7 @@ Reviewed-by: Peter Hutterer commit e5e531ce96264518f278f572a4d0bfcd345aa618 -Merge: 6c38682 1692dcf +Merge: 6c38682084 1692dcf197 Author: Peter Hutterer Date: Thu Jan 31 16:36:17 2008 +1030 @@ -135018,14 +136284,14 @@ (cherry picked from commit 116800279d2ec783c63f43d3902627edde6a4cff) commit 16b0614c8c441eb1692bde9e58fadf54a9c6f00f -Merge: 1a88aed e915a26 +Merge: 1a88aed5c8 e915a26397 Author: David Nusinow Date: Sat Jan 26 16:13:25 2008 -0500 Merge commit 'upstream/master' commit 0ac175597712edfeae676f536746a4d26d625e30 -Merge: 210eeef e915a26 +Merge: 210eeef495 e915a26397 Author: Peter Hutterer Date: Sat Jan 26 13:55:07 2008 +1030 @@ -135479,7 +136745,7 @@ More Xv extension byte swapping fixes commit 38bf01bd1c925614a6e67a38aa3cefc7b8fe3bca -Merge: 4e85c7c 0883e83 +Merge: 4e85c7c322 0883e838e2 Author: Peter Hutterer Date: Thu Jan 10 13:38:46 2008 +1030 @@ -135715,7 +136981,7 @@ dix: free ClassesRec when a BadAlloc occurs during CoreKeyboardProc. commit 8da83836b60f7cdb75d08482f4311fa0e2ab4e1d -Merge: eace889 ae869fc +Merge: eace88989c ae869fc766 Author: Peter Hutterer Date: Thu Jan 3 17:04:54 2008 +1030 @@ -136354,7 +137620,7 @@ Bump video driver ABI and extension ABI for devPrivates rework. commit 86b2e59bfb79bd042a13c35fbb4ccecec576f629 -Merge: 1c1a4bc cb0d7e2 +Merge: 1c1a4bc970 cb0d7e2c26 Author: Eamon Walsh Date: Fri Dec 14 00:32:24 2007 -0500 @@ -136402,7 +137668,7 @@ (cherry picked from commit fc04c9759b30d062111d4a7f3f411ed0f18cbde4) commit c8feb73f5841e7812d8dfdb91f1064e2033d028c -Merge: 9a7ce57 a125ce4 +Merge: 9a7ce57363 a125ce4a84 Author: Eamon Walsh Date: Thu Dec 13 18:38:25 2007 -0500 @@ -137869,7 +139135,7 @@ during merge conflict resolution. commit 2d17f47cc7d6b174857617d31ad1b437d8e97d94 -Merge: 60be452 ea9c63e +Merge: 60be452c2e ea9c63e93b Author: Eamon Walsh Date: Mon Nov 19 18:10:46 2007 -0500 @@ -138197,7 +139463,7 @@ Don't sleep(1) at server exit. commit 1603130236c55ddabc3854d4ba62d544debcf1f5 -Merge: f207e69 f7dd0c7 +Merge: f207e69d62 f7dd0c72b8 Author: Eamon Walsh Date: Wed Nov 14 13:35:50 2007 -0500 @@ -138574,7 +139840,7 @@ Also clean up to return error codes instead of sending the error manually. commit 184a7b8917a15bb2c719153b9b016c03aab42101 -Merge: a8808ac 0b72905 +Merge: a8808ac3d0 0b729051c0 Author: Peter Hutterer Date: Thu Nov 8 09:34:35 2007 +1030 @@ -138585,7 +139851,7 @@ Xi/opendev.c commit e94ab0b502160376d1956345196f7e1c7e2e886f -Merge: 26e1fc7 9bee1c6 +Merge: 26e1fc7b42 9bee1c6912 Author: Dodji Seketeli Date: Wed Nov 7 19:04:24 2007 +0100 @@ -138624,7 +139890,7 @@ XNEST_LIBS contains the right thing. commit 0b729051c04da7068f1e6dd319190bd0a362b2c0 -Merge: b7ee005 d7c5e8b +Merge: b7ee005d32 d7c5e8bfc1 Author: Peter Hutterer Date: Wed Nov 7 15:37:23 2007 +1030 @@ -138723,7 +139989,7 @@ on the x11perf benchmark. commit aaa50b64113b122aaebd46e3b78e3fb7a8d70500 -Merge: 868e303 ddce48e +Merge: 868e303630 ddce48ede0 Author: Dodji Seketeli Date: Tue Nov 6 16:25:40 2007 +0100 @@ -138750,7 +140016,7 @@ to subsequent assertion failure in libdbus. commit a52c9b2a59f27266557ff9d5d2c08492e04135a6 -Merge: c7e18be 5833289 +Merge: c7e18beb3c 58332894c0 Author: Eamon Walsh Date: Mon Nov 5 19:08:36 2007 -0500 @@ -138778,7 +140044,7 @@ xselinux: Register SELinux extension protocol names. commit 632c33c5c18b3e091c4fce98280af4d583e99640 -Merge: 4113f04 dda10c9 +Merge: 4113f040c5 dda10c9066 Author: Dodji Seketeli Date: Mon Nov 5 17:52:33 2007 +0100 @@ -139448,7 +140714,7 @@ xselinux: Label the default device directly with the process context. commit b633d54b94d746d26e13014634d9f63bbb7e8f7d -Merge: 4b05f19 48ca596 +Merge: 4b05f19cb9 48ca5961ca Author: Eamon Walsh Date: Thu Oct 25 12:19:30 2007 -0400 @@ -139650,7 +140916,7 @@ they should be. commit a3a95d3475dc91ed2e8a55bf484a6b3f2b5ac32a -Merge: a358b87 7e1cada +Merge: a358b87f45 7e1cada6c6 Author: Eric Anholt Date: Fri Oct 19 15:44:17 2007 -0700 @@ -139856,7 +141122,7 @@ Need to merge so this type of thing stops happening. commit c3f7b862550fa8f46633162f83db8c27e46fc672 -Merge: af4dde0 feac075 +Merge: af4dde0ac1 feac075952 Author: Eamon Walsh Date: Wed Oct 17 15:00:54 2007 -0400 @@ -140436,7 +141702,7 @@ Fix GLX byteswapping. commit 927757e1028f45f7fd94b9a2ab35567e0f34b2a8 -Merge: ccda4b6 17ffc34 +Merge: ccda4b66bd 17ffc34ad5 Author: Kristian Høgsberg Date: Fri Oct 12 19:28:39 2007 -0400 @@ -140716,7 +141982,7 @@ regardless of who is the pairing client. commit 4611f9568cdadf9c00f4b7ca4c77c8c6f07e94f8 -Merge: ab11bad 3549a12 +Merge: ab11bad547 3549a12823 Author: Dodji Seketeli Date: Thu Oct 4 13:07:50 2007 +0200 @@ -140789,7 +142055,7 @@ it for them completely. commit 604ebb5a6de372e6a8a96e0ee997db7929126860 -Merge: 1365aef 4ba76a7 +Merge: 1365aeff54 4ba76a7e2b Author: Dodji Seketeli Date: Wed Oct 3 16:13:16 2007 +0200 @@ -140927,7 +142193,7 @@ Also fix incorrect library inclusion by kdrive which broke the build. commit 439edc768eea17667846ce573c843b8377e0dfb4 -Merge: c8ccf46 93ae6fe +Merge: c8ccf469dc 93ae6fe18c Author: Eric Anholt Date: Tue Oct 2 12:14:04 2007 -0700 @@ -141860,7 +143126,7 @@ This is hopefully better than hardcodey calling CoreProcessPointerEvent. commit 27612748e0ec20f3a23839f0a12e39f598dd722c -Merge: b614614 3b114f2 +Merge: b61461425e 3b114f2603 Author: Eamon Walsh Date: Wed Sep 26 07:47:29 2007 -0400 @@ -142281,7 +143547,7 @@ hey -- you have to start somewhere. ;) commit 97c150b61bbe436453b05d3c07cd2173870aac40 -Merge: 57907e0 547ad21 +Merge: 57907e0943 547ad2125e Author: Eamon Walsh Date: Wed Sep 19 07:25:55 2007 -0400 @@ -142406,7 +143672,7 @@ Initialize output->pendingProperties. commit b9f7aeb20015290a8acf938a11bf9272bf3527cf -Merge: e4d11e5 06d27f8 +Merge: e4d11e58ce 06d27f8045 Author: Eric Anholt Date: Thu Sep 13 00:15:45 2007 +0000 @@ -142820,7 +144086,7 @@ broken uses. commit e332335241af28ef0ab66b102d0cbc4e5c73ac68 -Merge: 7381e91 accd71b +Merge: 7381e9149e accd71bda6 Author: Ben Byer Date: Wed Sep 5 15:51:23 2007 -0700 @@ -142865,7 +144131,7 @@ so it doesn't make sense to require it when building on OSX/Darwin. commit ff01e44e33fd072958fb0157dae072f1b1c88944 -Merge: 8ba8c16 47300ed +Merge: 8ba8c16af7 47300ed2be Author: Ben Byer Date: Wed Sep 5 13:56:08 2007 -0700 @@ -143015,7 +144281,7 @@ Revert part of 529acb175440969af9d7fa38aab8d7dea0dc2661 because libtool is smart. commit bf5948518763b5e21eff806a0a9abc5f7757fa10 -Merge: 4062db4 735da3d +Merge: 4062db4020 735da3dcd0 Author: Matthieu Herrb Date: Tue Sep 4 22:40:31 2007 +0200 @@ -143331,7 +144597,7 @@ FontRec privates. commit 85547073265ae9bc4ae3af920a6d3214fd1ca0c5 -Merge: 860a09c 7d54399 +Merge: 860a09cfb8 7d54399cfd Author: Eamon Walsh Date: Tue Aug 28 07:25:21 2007 -0400 @@ -143431,7 +144697,7 @@ Bump video driver ABI for pci-rework. commit 91f358336f77c0e4f577be65cca977d17298e36c -Merge: b9a806f 8b6b40b +Merge: b9a806f0b3 8b6b40b727 Author: Ian Romanick Date: Fri Aug 24 15:04:21 2007 -0700 @@ -143485,7 +144751,7 @@ case. commit 8b6b40b7271acd81a9548f502c18f46f3b640640 -Merge: ab7a6d8 3305d17 +Merge: ab7a6d860d 3305d17195 Author: Ian Romanick Date: Thu Aug 23 18:19:17 2007 -0700 @@ -143622,7 +144888,7 @@ Fix include to commit b6a7c0112c42a3287e53647c38b2c0c5bf8fefa0 -Merge: 53941c8 6ef4ecd +Merge: 53941c8e68 6ef4ecd826 Author: Søren Sandmann Pedersen Date: Tue Aug 21 14:26:34 2007 -0400 @@ -143934,7 +145200,7 @@ current interface. commit f367285fd5825e0adc271982a529c9904ad65c89 -Merge: b1272ee ff4bd3a +Merge: b1272eefd9 ff4bd3addb Author: Peter Hutterer Date: Sun Aug 12 15:31:10 2007 +0930 @@ -144309,7 +145575,7 @@ ProcRenderAddGlyphs: Convert while loops to for loops where more natural commit e34fcd2bf42dbd72ab6ce2df80f2dcaa13416e74 -Merge: 32c0dcc f3955c0 +Merge: 32c0dcc8c0 f3955c0a02 Author: Eamon Walsh Date: Thu Aug 2 14:27:03 2007 -0400 @@ -145617,7 +146883,7 @@ can't actually occur when swapped out. commit 1f97a7647606226cde61d6ad7a94f2b0b571a06c -Merge: 5dee64f 2e7fef7 +Merge: 5dee64fc99 2e7fef7d08 Author: Peter Hutterer Date: Tue Jun 19 17:20:52 2007 +0930 @@ -145659,7 +146925,7 @@ device to interact, so this seems like a reasonable solution. commit ab7a6d860d4a275a810a64b1ba7b13726ed10575 -Merge: e9130b8 2e7fef7 +Merge: e9130b8bac 2e7fef7d08 Author: Ian Romanick Date: Mon Jun 18 16:51:13 2007 -0700 @@ -145741,7 +147007,7 @@ Delete fbBltmmx(). commit e2a720c9a17dc860ee0a858c2b21fd71e86cdcd0 -Merge: 878cac7 3f9adb1 +Merge: 878cac71aa 3f9adb18f1 Author: Eamon Walsh Date: Mon Jun 11 15:29:11 2007 -0400 @@ -146065,7 +147331,7 @@ Remove wscons keyboard handling stuff that doesn't belong there anymore. commit 60de6c7ef9bdcee043f63e8e0d493e6feba6a9d0 -Merge: 3a6549a 2f13b7c +Merge: 3a6549a163 2f13b7c113 Author: Matthieu Herrb Date: Tue May 29 12:14:49 2007 -0600 @@ -146238,7 +147504,7 @@ Add missing offsets for window coordinates - reported by Colin Harrison commit 2a4aa63a23ddd816b647b851a01865861827a7eb -Merge: 9cee4ec cc648e6 +Merge: 9cee4ec5e6 cc648e609d Author: Eamon Walsh Date: Tue May 22 14:50:26 2007 -0400 @@ -146789,7 +148055,7 @@ fix __glXErrorCallBack() proto commit 6b33459bf5aac23c3ecc7002d091c02f327d907a -Merge: 18252a5 3c91a99 +Merge: 18252a515d 3c91a993e8 Author: Brian Date: Mon Apr 30 10:26:19 2007 -0600 @@ -146977,7 +148243,7 @@ are both 0. commit f28eea0647f007c2e2415ecc6fceef46201faad4 -Merge: 339b73e ae04f2c +Merge: 339b73e710 ae04f2cb0a Author: Peter Hutterer Date: Fri Apr 27 16:34:36 2007 +0930 @@ -147508,7 +148774,7 @@ security: remove debugging code. commit 1f06d32ef58749d0f0c062193d237ee98f60e90f -Merge: cf962a8 fc162c6 +Merge: cf962a849d fc162c6cfa Author: Eamon Walsh Date: Tue Apr 17 12:10:22 2007 -0400 @@ -147679,7 +148945,7 @@ This workaround is obsolete with 33a5d9605e3e282f6aa1921d7321a2a12ef02c42 commit d4dad6f84f82a4ade5005c3aa93511c1295875b8 -Merge: f1f8b56 33a5d96 +Merge: f1f8b562aa 33a5d9605e Author: Peter Hutterer Date: Thu Apr 12 11:11:03 2007 +0930 @@ -147933,7 +149199,7 @@ GLcore: fix after moving xf86glx_util.[hc] to Mesa. commit cf962a849db2b259ca558c6265ea7e3328a4d312 -Merge: 5ad5625 5a804f2 +Merge: 5ad562565a 5a804f2e97 Author: Eamon Walsh Date: Thu Apr 5 14:41:39 2007 -0400 @@ -148079,7 +149345,7 @@ about setting the XFree86Server symbol. commit 1cc8db72816cd079f30255046e10043c350bf683 -Merge: 645d87c a39f297 +Merge: 645d87cf8e a39f297ada Author: Matthieu Herrb Date: Tue Apr 3 16:04:45 2007 +0200 @@ -148098,7 +149364,7 @@ Delete all grabs from all devices when deleting a window. commit 5f382c9c7fbda6eccf8e76c28a90b55ff2f0aef3 -Merge: 9b0b340 f09ee16 +Merge: 9b0b340668 f09ee168e2 Author: Peter Hutterer Date: Tue Apr 3 15:07:18 2007 +0930 @@ -148218,7 +149484,7 @@ formatting fixes commit e8777a91f37d828b9df839bf3d9cf2f954bdddb0 -Merge: a120547 96ce17a +Merge: a12054757d 96ce17aa94 Author: Peter Hutterer Date: Mon Apr 2 15:36:26 2007 +0930 @@ -148283,7 +149549,7 @@ values of 1280 (my screen width). commit e9130b8bac73a0843d5ff6b2216eccfb3e094a48 -Merge: 2c6d471 92e8cdb +Merge: 2c6d471088 92e8cdbd32 Author: Ian Romanick Date: Fri Mar 30 13:39:15 2007 -0700 @@ -148420,7 +149686,7 @@ xace: provide creation-time resource hook call in CreateWindow(). commit 99b220969f2f8ba829bc8294b27ca90fd9311be4 -Merge: 728ad64 82a8b99 +Merge: 728ad64d97 82a8b99a6c Author: Eamon Walsh Date: Wed Mar 28 12:54:04 2007 -0400 @@ -148433,7 +149699,7 @@ Refuse to create tiny modes from EDID detailed timing. commit 2c6d47108880584f1221ff86c6c8947627f9f607 -Merge: c4fe1bc 8522044 +Merge: c4fe1bcce1 8522044635 Author: Ian Romanick Date: Wed Mar 28 08:08:04 2007 -0700 @@ -148503,7 +149769,7 @@ Fix indentation of fakexa help text. commit 728ad64d979fd9e5cca28e8c15118c18d707c431 -Merge: 0331c6a 6a0bed1 +Merge: 0331c6a8fc 6a0bed16e8 Author: Eamon Walsh Date: Tue Mar 27 13:16:40 2007 -0400 @@ -148540,7 +149806,7 @@ Update xorg.conf manpage for new RandR 1.2 monitor options. commit 0331c6a8fcba1dc27ef45aaf5f694799d0085413 -Merge: 84a066c f7c5aa0 +Merge: 84a066cc88 f7c5aa0dc0 Author: Eamon Walsh Date: Mon Mar 26 10:28:05 2007 -0400 @@ -148905,7 +150171,7 @@ by the evdev driver). commit 015d728bcde5b16a72a976579755421e3023626b -Merge: 65b0eb6 b167583 +Merge: 65b0eb60b0 b167583fe2 Author: Peter Hutterer Date: Mon Mar 19 09:42:56 2007 +1030 @@ -149212,7 +150478,7 @@ devPrivates rework: move reset functions into a single call. commit bb111291d854b4329e47367ce3c67e8a2785e6e9 -Merge: 74175e0 e9bfb2b +Merge: 74175e0af7 e9bfb2b3d7 Author: Eamon Walsh Date: Wed Mar 7 09:03:46 2007 -0500 @@ -149284,7 +150550,7 @@ updated todo list commit 81d581e655fc989da3be4256b83849a63b8607b7 -Merge: a05ffca d5aba03 +Merge: a05ffca8dd d5aba03fef Author: Ben Byer Date: Tue Mar 6 10:37:29 2007 -0800 @@ -149315,7 +150581,7 @@ moved new event-handling code from X11Application.m to darwinEvents.c in preparation for making all Darwin servers use it commit 0ccd1443fd6db397b42e5b99ce733ce1316c785e -Merge: ec1ef8a 9b6bb06 +Merge: ec1ef8a56d 9b6bb06f13 Author: Ben Byer Date: Tue Mar 6 01:04:50 2007 -0800 @@ -149390,7 +150656,7 @@ devPrivates rework: remove some debugging code from dixFreePrivates. commit 23fc429aad5b2721911862617772c314e1036bb0 -Merge: e684824 fe7b8f4 +Merge: e684824709 fe7b8f4237 Author: Eamon Walsh Date: Mon Mar 5 12:18:54 2007 -0500 @@ -149436,7 +150702,7 @@ modes: add commit/prepare hooks commit 1f0075786fedde538a95e2f39681052e25021d88 -Merge: 57aa5e9 12175b6 +Merge: 57aa5e908d 12175b668a Author: Peter Hutterer Date: Mon Mar 5 12:37:17 2007 +1030 @@ -149637,7 +150903,7 @@ between coordinates stored in device and coordinates sent by the event. commit d9bcb22d199e8444b9762a35754e04d327dd5915 -Merge: 272d934 c16343a +Merge: 272d9341d0 c16343ac2c Author: Ben Byer Date: Tue Feb 27 16:28:20 2007 -0800 @@ -150062,14 +151328,14 @@ http://xorg.freedesktop.org/wiki/XDC2007Notes#head-2719037a1905516c45cf74f0e155c8703221e446 commit f452507ca9209598401d15da0039aaa4e1fed1a3 -Merge: 0463283 8116757 +Merge: 04632835b7 811675733e Author: Eamon Walsh Date: Thu Feb 15 09:47:20 2007 -0500 Merge branch 'master' into my-XACE-SELINUX commit 04632835b7402456fdcf6c8fa01970cd2804e27c -Merge: 88f89b9 9ecf79c +Merge: 88f89b9ac1 9ecf79ca01 Author: Eamon Walsh Date: Thu Feb 15 09:27:05 2007 -0500 @@ -150117,7 +151383,7 @@ fix: WarpCursor needs to send MotionNotify. commit c4fe1bcce1c1e4822e688959b331b47a051d6e0a -Merge: e540d57 d570ff7 +Merge: e540d572c5 d570ff7c81 Author: Ian Romanick Date: Wed Feb 14 15:39:52 2007 -0800 @@ -150181,7 +151447,7 @@ Remove spurious LIBADD from xf4bpp commit 16eb7254f861465f988ae3861ac3449c2c966062 -Merge: 3814862 c4b7e9d +Merge: 3814862a86 c4b7e9d1c1 Author: Ian Romanick Date: Fri Feb 9 12:38:49 2007 -0800 @@ -150360,7 +151626,7 @@ Typical results were failure to sync, and a black screen. commit 3814862a869ee83d307eb01225d5949039f435d8 -Merge: a216de9 31f2d4a +Merge: a216de9b7f 31f2d4a57e Author: Ian Romanick Date: Mon Jan 29 15:14:31 2007 -0800 @@ -150401,7 +151667,7 @@ mi: Fix cursor rendering issues. commit 15a81b6325d359990017b8e9f17ce18a7eff1354 -Merge: 3759254 cc3d66d +Merge: 3759254c09 cc3d66d4a5 Author: Peter Hutterer Date: Sun Jan 28 17:18:57 2007 +1030 @@ -150414,7 +151680,7 @@ o fix minor error in comment for GetPointerEvents() commit 3759254c0967ae83bdcbf097d9e8a58733c8e6f9 -Merge: ba547d4 ca5ebe3 +Merge: ba547d4f6a ca5ebe3971 Author: Peter Hutterer Date: Sun Jan 28 17:05:55 2007 +1030 @@ -150433,7 +151699,7 @@ Xorg #9692 commit a216de9b7ff55e2b73c487d037f248f00bd2e63b -Merge: 24506ea cf7ca9d +Merge: 24506ea65b cf7ca9d09c Author: Ian Romanick Date: Thu Jan 25 10:17:32 2007 -0800 @@ -150468,7 +151734,7 @@ read_legcay_BIOS, and delete all remnants of it from all other places. commit fdb3a0798f0d17e72ec7293d59a7a81b5ffdf95b -Merge: 39b51e1 a53586e +Merge: 39b51e1bfc a53586eebc Author: Ian Romanick Date: Wed Jan 24 14:49:39 2007 -0800 @@ -150496,7 +151762,7 @@ Make Xinearama screen information reflect CRTC rotation. commit 39b51e1bfc4924fc3bda4342ef9c6c0125d9f4fa -Merge: 637b19b 788cfce +Merge: 637b19b3ee 788cfce911 Author: Ian Romanick Date: Tue Jan 23 13:25:56 2007 -0800 @@ -150538,7 +151804,7 @@ ARCH_PCI_OS_INIT mechanism useless. Remove it. commit 7dfb3cea913b02a6b36c308d1330bd40abe6b41f -Merge: c279d5f 2dc8662 +Merge: c279d5fdc5 2dc866252c Author: Ian Romanick Date: Mon Jan 22 08:44:36 2007 -0800 @@ -150576,7 +151842,7 @@ -ardelay and -arinterval, respectively. commit c279d5fdc53612a90f33fafe9e9c59ced008dd51 -Merge: 88f248e 14d6a9b +Merge: 88f248e671 14d6a9b327 Author: Ian Romanick Date: Fri Jan 19 12:59:54 2007 -0800 @@ -150869,7 +152135,7 @@ Track rename of DamagePost -> DamageAdd. commit da09964a931cc64d05ab571bf545fdad35a6d395 -Merge: e1f73d2 e3aa6ad +Merge: e1f73d2208 e3aa6ad201 Author: Ian Romanick Date: Tue Jan 9 15:27:34 2007 -0800 @@ -150954,7 +152220,7 @@ Incorporate new byte-order related configure changes. commit 8dd5771a1b91c331860b667fb18e484452000aad -Merge: 45aa26c 7d2ec92 +Merge: 45aa26ccb4 7d2ec92170 Author: Ian Romanick Date: Thu Jan 4 15:01:38 2007 -0800 @@ -151120,7 +152386,7 @@ Export exaMove{In,Out}Pixmap(). commit 683ca3f7afaf15fd3ca7918f6175b5a9e4a6f05b -Merge: 05f9150 9563b2e +Merge: 05f915050c 9563b2eea2 Author: Eric Anholt Date: Wed Dec 27 16:11:31 2006 -0800 @@ -151161,7 +152427,7 @@ Make sure we're not copying sym_interpret across from an empty source. commit 43a4376bd72ef1b6486cddb60ad57b2d6169292a -Merge: 4b1c9ac d9e079d +Merge: 4b1c9ac3d1 d9e079d2a3 Author: Eamon Walsh Date: Fri Dec 22 13:53:55 2006 -0500 @@ -151223,7 +152489,7 @@ xorg.conf man page should say "XFree86-DGA", not "Xorg-DGA" commit a81dbaae0597492f0245080c6f5af7158e05e2d0 -Merge: fb6d676 d442998 +Merge: fb6d676de5 d442998e39 Author: Eamon Walsh Date: Tue Dec 19 16:11:19 2006 -0500 @@ -151263,7 +152529,7 @@ This affects drivers with no UploadToScreen or UploadToScreen failures. commit 4334860e69e7d5b156082bd05c7a86708e5bad4c -Merge: 7e47176 fdcc22c +Merge: 7e4717683d fdcc22ca17 Author: Michel Dänzer Date: Tue Dec 19 16:29:26 2006 +0100 @@ -151298,14 +152564,14 @@ See https://bugs.freedesktop.org/show_bug.cgi?id=6772 . commit ca5ebe3971d8ebcfed00c5ebcd026cdd0ce0c6ba -Merge: 4d07b50 1b029fd +Merge: 4d07b50372 1b029fd896 Author: Peter Hutterer Date: Tue Dec 19 10:51:01 2006 +1030 Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver commit 2d0a63126b3d3a17005b7e122617ee0c5f44a55b -Merge: d8b5394 1b029fd +Merge: d8b5394eda 1b029fd896 Author: Peter Hutterer Date: Tue Dec 19 10:31:40 2006 +1030 @@ -151532,7 +152798,7 @@ Split AssignClientState() into two routines, new routine is server-specific. commit 62e7722ebd8d341a23eb56cb330eeb00e6a975a6 -Merge: e124806 f3c6090 +Merge: e124806994 f3c60900e5 Author: Eamon Walsh Date: Tue Dec 12 13:54:33 2006 -0500 @@ -151636,7 +152902,7 @@ Accept EDID > 1.3 but < 2.0 if we find it, assume it's compatible. commit e1f73d220873fa091695e46b7fcd008663a95a6f -Merge: 27d682f d56249a +Merge: 27d682fa03 d56249a15e Author: Ian Romanick Date: Fri Dec 8 17:24:15 2006 -0800 @@ -151656,7 +152922,7 @@ hw/xfree86/utils/scanpci/Makefile.am commit d56249a15ead51ad4d2117d5538ada24af05b693 -Merge: f1f8df1 ec84f72 +Merge: f1f8df1889 ec84f72d07 Author: Jeremy C. Reed Date: Fri Dec 8 15:52:37 2006 -0600 @@ -151818,7 +153084,7 @@ Ironing some glitches caused by the merge commit 3c8f166022a2d19af14eb670fa382503ba1451cd -Merge: 2a51149 f9f7d7f +Merge: 2a511492f9 f9f7d7f3be Author: Peter Hutterer Date: Tue Dec 5 18:28:33 2006 +1030 @@ -151899,7 +153165,7 @@ DeliverDeviceEvents() caters for MPX devices. commit ccd804c6c01cdfffe938fa5336be9b5668a6f0c0 -Merge: 9423ac1 82912ad +Merge: 9423ac134a 82912ad770 Author: Drew Parsons Date: Fri Dec 1 15:21:57 2006 +1100 @@ -151938,7 +153204,7 @@ Add required root window context to config file. commit 143558500a89a5c887c75c03798bae68c953cac9 -Merge: e3d3d29 ee9bdd3 +Merge: e3d3d29db5 ee9bdd3f4a Author: Eamon Walsh Date: Wed Nov 29 20:41:41 2006 -0500 @@ -152072,7 +153338,7 @@ Move mode handling helpers from ddcProperty.c to xf86Mode.c. commit b4b0d901d98371a8aa7b17d195e18e83e2a6a618 -Merge: 64de3ba d6cd031 +Merge: 64de3baf85 d6cd0313c7 Author: Eric Anholt Date: Mon Nov 27 15:43:15 2006 -0800 @@ -152291,7 +153557,7 @@ bugfix in mipointer, semicolon after preprocessor statement commit ca2874b273232d9f51881b1cd754ed6847bfaf47 -Merge: c9a5f9d e2f6dac +Merge: c9a5f9d391 e2f6dacc73 Author: Alan Hourihane Date: Sat Nov 18 19:56:32 2006 +0000 @@ -152464,7 +153730,7 @@ Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL. commit a724b7f1302ba7a59f140b521f13d2ddf0fcf9bf -Merge: 6facd95 f80a8ae +Merge: 6facd958c2 f80a8ae6e6 Author: Jeremy C. Reed Date: Mon Nov 13 20:32:26 2006 -0600 @@ -152788,7 +154054,7 @@ A couple more cases of error message before freeing strings. commit 05f1c302460a14c8fa9a943a12d69adcd3c30d58 -Merge: 3e7e0e3 46af6d1 +Merge: 3e7e0e3509 46af6d1e95 Author: Adam Jackson Date: Tue Nov 7 18:42:54 2006 -0500 @@ -152834,7 +154100,7 @@ getevents.c commit c20d3bf7533da0bf26beaf7d8c359d18edbd70e8 -Merge: 028bbdc 3d39c02 +Merge: 028bbdc041 3d39c02fe6 Author: Keith Packard Date: Tue Nov 7 01:21:28 2006 -0800 @@ -152873,14 +154139,14 @@ Fix typo in Xvesa: incorrect reporting of DAC capabilities. commit 028bbdc0417173803695808ba9f48498519273a3 -Merge: 50504c6 8deaaa3 +Merge: 50504c68e1 8deaaa312a Author: Keith Packard Date: Sat Nov 4 17:46:26 2006 -0800 Merge master back to randr-1.2 commit 50504c68e1d407232cf83465981b235e542ef31f -Merge: 8b87ce1 cde8806 +Merge: 8b87ce1974 cde8806c29 Author: Keith Packard Date: Sat Nov 4 17:43:19 2006 -0800 @@ -152960,7 +154226,7 @@ and 1024x768@75 modes. commit 22ee2e4e1f1d9fd9ca9f25c9bf25370034b771d4 -Merge: 49a2668 bd0c829 +Merge: 49a26681b2 bd0c829654 Author: Alan Coopersmith Date: Fri Nov 3 12:54:56 2006 -0800 @@ -153073,7 +154339,7 @@ Build with -D_PC on ix86 only. commit 543b397277d1f03b8091e44812010abcd5d80102 -Merge: 4056e6e 645d057 +Merge: 4056e6e79a 645d057620 Author: Keith Packard Date: Thu Nov 2 19:00:35 2006 -0800 @@ -153144,14 +154410,14 @@ bump to 1.2.99.0 commit 18c246a13b887b865de6a17e6cd1c259b9bc383d -Merge: 794f2e7 4843d82 +Merge: 794f2e7291 4843d823f4 Author: Daniel Stone Date: Thu Nov 2 03:21:37 2006 +0200 Merge branch 'input-hotplug' commit 4843d823f4d38d8bd468ce3a8feddbff229ed416 -Merge: ba9f513 a7b944f +Merge: ba9f5138fc a7b944f0d9 Author: Daniel Stone Date: Thu Nov 2 03:18:13 2006 +0200 @@ -153167,7 +154433,7 @@ config file. commit be291a6d9764cf29a7d9a8114d47d9f41ce856e9 -Merge: a2d6242 6fdfd9d +Merge: a2d6242106 6fdfd9dad9 Author: Daniel Stone Date: Thu Nov 2 03:15:25 2006 +0200 @@ -153284,7 +154550,7 @@ kill GNU-make'ism. commit 0107320fac0913aae2cb169992e31c670b4bd2f7 -Merge: 06b6b97 a34446f +Merge: 06b6b971d0 a34446f5b3 Author: Thomas Hellstrom Date: Sun Oct 29 15:23:35 2006 +0100 @@ -153355,7 +154621,7 @@ Import libdrm functions for the drm memory manager. commit e3d3d29db5eef057b4e8294377c9c3147436bc2f -Merge: 92387e9 004d00e +Merge: 92387e99d0 004d00e668 Author: Eamon Walsh Date: Thu Oct 26 20:21:16 2006 -0400 @@ -153406,7 +154672,7 @@ lnx_ia64.c. commit 8c0556e7cb1de8c387ddd886a03a8f8afff1fd0e -Merge: cdc8a4b 004d00e +Merge: cdc8a4b7b2 004d00e668 Author: Daniel Stone Date: Thu Oct 26 15:21:22 2006 +0300 @@ -153424,7 +154690,7 @@ The fallthrough to gettimeofday() is preserved. commit cdc8a4b7b2f099b8860a54c5c9f488e6f7c4913a -Merge: 3da918a d285833 +Merge: 3da918a16c d285833290 Author: Daniel Stone Date: Thu Oct 26 00:28:30 2006 +0300 @@ -153465,14 +154731,14 @@ without pretending it's always on. commit 59511974db843fa7e11133894cfc10c20fdaf60f -Merge: 054f8cd 598ac7a +Merge: 054f8cd267 598ac7a836 Author: Keith Packard Date: Tue Oct 24 17:26:20 2006 -0700 Merge branch 'master' into randr-1.2 commit 598ac7a83698327b607084abaebcbd22f8d25fbb -Merge: 828c34e 948a97b +Merge: 828c34e83c 948a97b97e Author: Keith Packard Date: Tue Oct 24 17:23:12 2006 -0700 @@ -153571,7 +154837,7 @@ Fix from HEAD accidentally reverted during merge. commit 8b909135664abb69ada522e8e39495d9eca717ac -Merge: 21291d6 948a97b +Merge: 21291d6ca7 948a97b97e Author: Ian Romanick Date: Tue Oct 24 08:57:59 2006 -0700 @@ -153628,7 +154894,7 @@ Remove unused xf86CheckButton. commit c5b5b046e86b159a9d32451308f38246cc4587f7 -Merge: fab1d37 948a97b +Merge: fab1d37ecb 948a97b97e Author: Daniel Stone Date: Mon Oct 23 02:58:30 2006 +0300 @@ -153814,7 +155080,7 @@ Minor typos in Xserver man page. commit e26a494f417c3c700636ee68892c3015b2e0f27a -Merge: 736b0d5 aeba855 +Merge: 736b0d5078 aeba855b07 Author: Zephaniah E. Hull Date: Sat Oct 21 04:26:14 2006 -0400 @@ -154128,7 +155394,7 @@ Separate configuration from layout changes to send correct events. commit 335b503c5e7041bb0c44611e496d1c46f554e630 -Merge: bd3d93b cf948b7 +Merge: bd3d93be82 cf948b7b04 Author: Daniel Stone Date: Fri Oct 13 18:10:45 2006 +0300 @@ -154142,7 +155408,7 @@ to avoid cursor movements signalling io. commit 4b53a5e4b147ab748b28dffc1d330b7148d8efa6 -Merge: 23f6f08 042d4a4 +Merge: 23f6f08b7b 042d4a407d Author: Eamon Walsh Date: Wed Oct 11 20:50:31 2006 -0400 @@ -154356,7 +155622,7 @@ layer. commit 4c342246300e06bdf5c9c62cc1d2f6aa57a524db -Merge: 8382234 49a70c8 +Merge: 8382234a7f 49a70c8570 Author: Alan Coopersmith Date: Fri Oct 6 18:01:13 2006 -0700 @@ -154409,14 +155675,14 @@ Improve error handling, messages during initialization. commit de63a469dcd0a8ae98554bca540ac0106cccf2a5 -Merge: 9c7440b 8382234 +Merge: 9c7440bdf5 8382234a7f Author: Daniel Stone Date: Thu Oct 5 20:29:19 2006 +0300 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug commit b4659faf9b455b44ac8e691cc7a8fc00a967c80b -Merge: c4f30c6 8382234 +Merge: c4f30c6353 8382234a7f Author: Keith Packard Date: Wed Oct 4 14:46:04 2006 -0700 @@ -154452,7 +155718,7 @@ Don't insert RCS tag into generated pci id header files commit 75e0cc41b201b9ceb2615e7cec0dd5b4c136b343 -Merge: 6926776 20c0cee +Merge: 6926776f0e 20c0ceedfb Author: Eamon Walsh Date: Tue Oct 3 13:58:03 2006 -0400 @@ -154486,7 +155752,7 @@ Use XkbCharToInt as that's what we're doing. commit 3c98cebb6e954855528794fec46830f456cbdec1 -Merge: fa1ac94 2cf1098 +Merge: fa1ac94178 2cf1098436 Author: Daniel Stone Date: Mon Oct 2 02:18:17 2006 +0300 @@ -154514,21 +155780,21 @@ if built with --enable-debug. commit 20c0ceedfbce9ae5c70703900b52973917ac4cd0 -Merge: 49a70c8 84eb2c0 +Merge: 49a70c8570 84eb2c0a06 Author: Eamon Walsh Date: Fri Sep 29 15:37:00 2006 -0400 Merge branch 'master' into my-XACE-modular commit 518db35ca3f569e7cb95dbddeddb93f3691de498 -Merge: 5d99e05 84eb2c0 +Merge: 5d99e05f05 84eb2c0a06 Author: Daniel Stone Date: Fri Sep 29 00:35:21 2006 +0300 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug commit 5d99e05f05a42a82a9f02844df9bfebaa673759d -Merge: ad631af 5893375 +Merge: ad631afcf3 5893375786 Author: Daniel Stone Date: Fri Sep 29 00:35:07 2006 +0300 @@ -154552,7 +155818,7 @@ Patch by Dan Nicholson. commit 4bc5dc2854e33bf343cdea44a3c3b4c41f6f4145 -Merge: cf6e968 f9542e7 +Merge: cf6e9687ff f9542e7495 Author: Aaron Plattner Date: Thu Sep 28 13:27:13 2006 -0700 @@ -154592,7 +155858,7 @@ Add wrapper for new ioctl to update drawable information in the DRM. commit ad321fad4b9ab3a2c70cfff37ca6c8faaa5cce9c -Merge: 5e9d33f f7c1d94 +Merge: 5e9d33fe87 f7c1d94241 Author: Daniel Stone Date: Sun Sep 24 17:56:43 2006 +0300 @@ -154796,14 +156062,14 @@ Thanks, automake. commit 6926776f0ecd1e8e81c5c40ccd3a97227bc44dcb -Merge: 6950267 49a70c8 +Merge: 6950267dd6 49a70c8570 Author: Eamon Walsh Date: Fri Sep 15 15:28:13 2006 -0400 Merge branch 'my-XACE-modular' into my-XACE-SELINUX commit 49a70c8570b03aff8239324a2474918a6fbc52a0 -Merge: d1110c5 05231e3 +Merge: d1110c5c83 05231e336d Author: Eamon Walsh Date: Fri Sep 15 15:26:57 2006 -0400 @@ -155031,7 +156297,7 @@ so I think we can tolerate the extra #ifdef for the next release. commit 60db190ecfce52cbfa888c0af3210634f9186bed -Merge: 5e9d33f 6525610 +Merge: 5e9d33fe87 65256109bb Author: Zephaniah E. Hull Date: Sun Sep 10 03:49:17 2006 -0400 @@ -155056,7 +156322,7 @@ Add SELinux extension configure-time support. commit fb34c02861ab3629c1c85c156e73b158518db7c7 -Merge: 9c503f0 d1110c5 +Merge: 9c503f09ce d1110c5c83 Author: Eamon Walsh Date: Fri Sep 8 15:30:12 2006 -0400 @@ -155124,7 +156390,7 @@ DRI locking between 2D and 3D drivers around VT switch. commit 5e9d33fe87f9d24e55c468d4b2bb761c9efdb26a -Merge: 629798c 64479ff +Merge: 629798c73a 64479fffa2 Author: Daniel Stone Date: Thu Sep 7 15:43:31 2006 +0300 @@ -155176,7 +156442,7 @@ (unsigned long)(1 << 31) = bad news on x86_64. commit 0b81fccd2ee4e054e5cffb739de07460ff2c13f7 -Merge: 20c4ac6 c281351 +Merge: 20c4ac6e03 c2813514cf Author: Eamon Walsh Date: Tue Sep 5 18:03:25 2006 -0400 @@ -155242,7 +156508,7 @@ appear in the server's string. commit 1c8851ad491dd02d1c79e620b46384956838ed42 -Merge: d59b52f 5ddbf4b +Merge: d59b52fc08 5ddbf4bcd4 Author: Ian Romanick Date: Tue Aug 29 16:34:04 2006 -0700 @@ -155278,7 +156544,7 @@ Yeah. That was dumb. commit 942b4369990a255257f66835caf8671432c405a3 -Merge: 77d315b 393dc0a +Merge: 77d315bd2f 393dc0a338 Author: Ian Romanick Date: Tue Aug 29 13:30:37 2006 -0700 @@ -155338,7 +156604,7 @@ couple of range-related thinkos in level name copying. commit 7fa3383e3c8eea7d1eb0e556393f2431cf8e6ed2 -Merge: 8d77d44 ebbdc13 +Merge: 8d77d44fda ebbdc1342a Author: Daniel Stone Date: Tue Aug 29 15:16:01 2006 +0300 @@ -155351,14 +156617,14 @@ Remove calls to LoaderCheckUnresolved(), since it's now a stub. commit 8d77d44fda3aacbae62864a3620e09095b79e92d -Merge: d6f36bd 2fde560 +Merge: d6f36bd280 2fde560bbb Author: Daniel Stone Date: Sun Aug 27 23:08:49 2006 +0300 Merge branch 'origin' into input-hotplug commit 20c4ac6e038607ebbf6c04639670514c016d8597 -Merge: 13c6713 8d4f21a +Merge: 13c6713c82 8d4f21ab53 Author: Eamon Walsh Date: Fri Aug 25 18:49:46 2006 -0400 @@ -155391,7 +156657,7 @@ GL_NV_{vertex,fragment}_program, and related extensions can be enabled. commit 21291d6ca7188e5733ed0c93215ee0f1f0f90cc9 -Merge: 1a5561c cd2da4e +Merge: 1a5561c4ec cd2da4e41e Author: Ian Romanick Date: Fri Aug 25 09:34:21 2006 -0700 @@ -155406,7 +156672,7 @@ best-effort attempt to keep configs working. commit 7c4167f0d6b33c9c602b04fcfd246fd3aeddd709 -Merge: 393f834 cd2da4e +Merge: 393f8347ed cd2da4e41e Author: Daniel Stone Date: Fri Aug 25 11:15:33 2006 +0300 @@ -155448,7 +156714,7 @@ Add some missing bits of GL_SGI_color_table. commit ae608b2071d882966e9c7ede71f846b1ecec0b23 -Merge: 2c86527 b879356 +Merge: 2c865277fe b879356ce9 Author: Ian Romanick Date: Thu Aug 24 14:56:33 2006 -0700 @@ -155471,7 +156737,7 @@ Regenerate from gl_API.xml 1.62. Functions move, no real changes. commit 3a36b0a24aa9e9e238faa7f00100f59800f5142b -Merge: db1ab1b b879356 +Merge: db1ab1bdb2 b879356ce9 Author: Daniel Stone Date: Thu Aug 24 23:35:28 2006 +0300 @@ -155509,7 +156775,7 @@ More #ifdef USE_DEPRECATED_KEYBOARD_DRIVER. commit 4ed311cf1c29090c53e474a3001c5702ff8409df -Merge: 73e58ad b29b236 +Merge: 73e58adda9 b29b236d88 Author: Matthias Hopf Date: Thu Aug 24 20:17:10 2006 +0200 @@ -155542,7 +156808,7 @@ Fix horrendous thinko. Indicators now work perfectly. commit 4adf9af313c9f63b6ad734e174efe1d36ddb5813 -Merge: 33af05d 67bd672 +Merge: 33af05d58f 67bd672c88 Author: Daniel Stone Date: Thu Aug 24 10:59:33 2006 +0300 @@ -155561,7 +156827,7 @@ Add xorg.conf IgnoreABI option which does the same thing as -ignoreABI commit b983773d446cef6a0948ca264ed48126e404ae9a -Merge: 0623d36 d9a8656 +Merge: 0623d3643f d9a86566c2 Author: Ian Romanick Date: Wed Aug 23 17:16:50 2006 -0700 @@ -155683,14 +156949,14 @@ the moment), and use that instead of nasty pointer assignments. commit 52ba722e4c89c052609b4fc62e965d92778aa2dd -Merge: 9138d5a 0554125 +Merge: 9138d5a51e 05541259bd Author: Eamon Walsh Date: Mon Aug 21 18:49:31 2006 -0400 Merge branch 'XACE-modular' into my-XACE-modular commit 05541259bdb0dfaab015a01caa3722b7a1b782e2 -Merge: c2535f6 a1ac044 +Merge: c2535f6792 a1ac0440bb Author: Alan Coopersmith Date: Mon Aug 21 13:07:41 2006 -0700 @@ -155706,7 +156972,7 @@ configure time. commit 0704bb298cc826cd117815898c6bc015a693c2c9 -Merge: c140369 a1ac044 +Merge: c14036977f a1ac0440bb Author: Daniel Stone Date: Fri Aug 18 17:30:14 2006 +0300 @@ -155726,14 +156992,14 @@ input.h: add InitCoreDevices prototype commit 1c2cb30cd88ba4453f9da339025f8ff39f7f5412 -Merge: 633b6a6 70ddd0f +Merge: 633b6a69f5 70ddd0f39d Author: Daniel Stone Date: Fri Aug 18 17:05:50 2006 +0300 Merge branch 'origin' into input-hotplug commit 19f673b7788d32c220e7e06734f1074b0e4a999c -Merge: cb0a565 70ddd0f +Merge: cb0a565d2b 70ddd0f39d Author: Daniel Stone Date: Fri Aug 18 17:05:41 2006 +0300 @@ -155756,7 +157022,7 @@ (Brett Stahlman & Colin Harrison) commit 708b225689b5a4ba9ffe3372b584b715ef9eacdc -Merge: e1f4565 ee5e2cb +Merge: e1f4565be5 ee5e2cbd2b Author: Alan Hourihane Date: Fri Aug 18 09:13:52 2006 +0100 @@ -155801,7 +157067,7 @@ It would be really nice if we only did this in one place instead of 40. commit 633b6a69f560c0a77dcff78fdef5fcf0041e2e04 -Merge: 95dbfcf 7da5144 +Merge: 95dbfcf882 7da51447ea Author: Daniel Stone Date: Thu Aug 17 21:25:14 2006 +0300 @@ -155909,21 +157175,21 @@ Fix debug_events prototype. commit d003bada3352ec7d734498c4c732904876a9d1e2 -Merge: d6433be a815b9b +Merge: d6433be3cc a815b9b990 Author: Daniel Stone Date: Sat Aug 12 22:48:55 2006 +0300 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug commit a815b9b990e068f02d9cbba2b17f2cc3a30a9310 -Merge: 37943e2 984babe +Merge: 37943e2f1a 984babe86b Author: George Sapountzis Date: Sat Aug 12 21:58:33 2006 +0300 Merge branch 'master' of git+ssh://gsap7@git.freedesktop.org/git/xorg/xserver commit d6433be3cca807dd78fbb1f45d9ba0212283083d -Merge: 2bf9e3d 984babe +Merge: 2bf9e3dc1e 984babe86b Author: Daniel Stone Date: Sat Aug 12 21:50:52 2006 +0300 @@ -155982,7 +157248,7 @@ Define HAVE_EXECINFO_H as well as HAVE_BACKTRACE, when we find execinfo.h. commit 26c3cd1c9e3f52548389817a6d89a377e20c4269 -Merge: 008aa7e c4951e0 +Merge: 008aa7eb6e c4951e0a6b Author: Daniel Stone Date: Sat Aug 12 18:58:18 2006 +0300 @@ -156011,7 +157277,7 @@ mode. Also add M_T_PREFERRED bit, to select a 'best' mode out of a set. commit c2535f67923bde0bfb0e72363467110806e2f40f -Merge: c0cb8d1 db82e12 +Merge: c0cb8d1fb8 db82e12fac Author: Alan Coopersmith Date: Thu Aug 10 10:37:59 2006 -0700 @@ -156033,7 +157299,7 @@ auto. commit 1a5561c4ecccaf32b03c41373adf376100d457aa -Merge: 190f229 db82e12 +Merge: 190f229ed7 db82e12fac Author: Ian Romanick Date: Thu Aug 10 10:20:37 2006 -0700 @@ -156054,7 +157320,7 @@ XKB (and thus don't need to count the extra repeat events). commit 172d45b9b75f95c997d1e9358040eead496e2a06 -Merge: 3832a3d db82e12 +Merge: 3832a3d7db db82e12fac Author: Daniel Stone Date: Thu Aug 10 14:14:54 2006 +0300 @@ -156099,7 +157365,7 @@ Remove the bc flag from the -help text, since it's gone. commit 767f372dd02232469f9fd804b811a17eaf762e1e -Merge: c4f5de6 462bb61 +Merge: c4f5de6cc3 462bb61b0f Author: Tilman Sauerbeck Date: Wed Aug 9 20:23:30 2006 +0200 @@ -156117,7 +157383,7 @@ hooks. commit 5506b4ad200745236f997c121e8200179c47b749 -Merge: 4be9abb 462bb61 +Merge: 4be9abb850 462bb61b0f Author: Daniel Stone Date: Wed Aug 9 07:21:01 2006 +0300 @@ -156178,7 +157444,7 @@ Sending MapNotify is more correct in this case than NKN, so do that. commit 31089816317f27c668b12a15c74fdd226a8df9f7 -Merge: ab3ebfe 12dbd8a +Merge: ab3ebfefdb 12dbd8a02f Author: Daniel Stone Date: Tue Aug 8 12:01:12 2006 +0300 @@ -156302,7 +157568,7 @@ memcpy events into our event structure instead of doing pointer assignment. commit c85e64cba1d2d88f676ca7cf23b52a6f8219e90e -Merge: a406f6b f54b71b +Merge: a406f6bfea f54b71b772 Author: Daniel Stone Date: Mon Aug 7 15:54:55 2006 +0300 @@ -156389,7 +157655,7 @@ Remove pciConfigPtr and all of the associated cruft. commit 966ebd3d2d84b440e89504d055a0e937303ed11d -Merge: a941766 39169fd +Merge: a94176627c 39169fd373 Author: Ian Romanick Date: Wed Aug 2 08:14:58 2006 -0700 @@ -156444,14 +157710,14 @@ Build fixes for last pull from HEAD. commit 65dc25d8f86b962f2adc765a9ff327419f98092b -Merge: 69533fc b74c845 +Merge: 69533fc04f b74c845a12 Author: Ian Romanick Date: Mon Jul 31 12:30:30 2006 -0700 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework commit b74c845a1233f78b841ff8840272c50873300c20 -Merge: 3112a6c 02daa6b +Merge: 3112a6c4f2 02daa6bb10 Author: Ian Romanick Date: Mon Jul 31 10:26:06 2006 -0700 @@ -156475,7 +157741,7 @@ and GC stripple and tile pixmaps. commit 69533fc04f38c67fd424776c5191a4ba57ba8c8f -Merge: ef1aeca 24051ef +Merge: ef1aecaaf6 24051ef974 Author: Ian Romanick Date: Mon Jul 31 09:26:04 2006 -0700 @@ -156523,7 +157789,7 @@ remove README (which doesn't exist) from EXTRA_DIST commit 87fe85f38b6f781bf0e2eb555526e3d77779f9fa -Merge: 3518e2d 654619d +Merge: 3518e2d0de 654619d76c Author: Daniel Stone Date: Sun Jul 30 10:51:34 2006 +0300 @@ -156621,7 +157887,7 @@ Pass correct pointer to xf86MapLegacyIO. commit 3518e2d0debc97e2bacdefe604b280e7fdfdd216 -Merge: eb7733a 3821f6a +Merge: eb7733a48a 3821f6aeaa Author: Daniel Stone Date: Wed Jul 26 11:29:21 2006 +0300 @@ -156648,7 +157914,7 @@ pci_device_get_bridge_buses can be used. commit 380b51d605a82c98082a2cebd70a0d1d0735eaa7 -Merge: 82f6b7e 8977b07 +Merge: 82f6b7e75e 8977b07434 Author: Ian Romanick Date: Tue Jul 25 11:30:04 2006 -0700 @@ -156746,7 +158012,7 @@ Allow XOpenDevice on closed devices. commit e73e5e2a4d8f22889d840a7719479f9af686cb9c -Merge: a73cef1 8977b07 +Merge: a73cef1f00 8977b07434 Author: Daniel Stone Date: Sat Jul 22 13:56:30 2006 -0400 @@ -156759,7 +158025,7 @@ glx: fix typo from tag removal commit a73cef1f005ca66db18e952e676ee5a21b829700 -Merge: 672ca15 70869fc +Merge: 672ca156bf 70869fc677 Author: Daniel Stone Date: Sat Jul 22 12:07:22 2006 -0400 @@ -156802,7 +158068,7 @@ Fix stupid typos. commit 672ca156bfb11440e6e234650bfba9d38e1edb52 -Merge: d14d91f 6cf844a +Merge: d14d91f094 6cf844ab69 Author: Daniel Stone Date: Fri Jul 21 19:58:42 2006 -0400 @@ -156835,7 +158101,7 @@ which in turn allows the elimination of hw/xfree86/int10/pci.c. commit 87a6346bf7f086b5f98b2b2ecd52f27efe864e56 -Merge: b73fb2a 0486d39 +Merge: b73fb2ae35 0486d3966d Author: Daniel Stone Date: Fri Jul 21 19:36:25 2006 -0400 @@ -156850,7 +158116,7 @@ XkbSA_XFree86Private. commit b73fb2ae35a82e0bdd48f01132e971fb84946ff1 -Merge: e7ac27a aff404f +Merge: e7ac27ad81 aff404f293 Author: Daniel Stone Date: Fri Jul 21 19:30:26 2006 -0400 @@ -156872,7 +158138,7 @@ Ugh. commit 7465010d59ec435bd00b738f0cef766b352dc7eb -Merge: 1d31ed7 0aaac95 +Merge: 1d31ed7782 0aaac95b0d Author: Daniel Stone Date: Fri Jul 21 19:05:41 2006 -0400 @@ -156898,7 +158164,7 @@ Remove the loader's required and referenced symbol lists, dead code. commit 07ad92d2c4cb07db8487d76efc822fd7b88137cb -Merge: 18624a9 22db3fd +Merge: 18624a9b7c 22db3fdb54 Author: Ian Romanick Date: Fri Jul 21 15:25:35 2006 -0700 @@ -156929,7 +158195,7 @@ Fix the RandR failure path for rotated screens. commit 22db3fdb54d2f7f6b72638b46c186af6db04e214 -Merge: 2f98841 93cd538 +Merge: 2f98841fde 93cd53860c Author: Ian Romanick Date: Fri Jul 21 13:55:37 2006 -0700 @@ -157172,7 +158438,7 @@ Remove the DDXTIME conditional, for being unused. commit c69c00d6523a35232a32e54a533811fc2b37815a -Merge: 4636935 84683f1 +Merge: 46369350d4 84683f19b4 Author: Ian Romanick Date: Thu Jul 20 12:08:38 2006 -0700 @@ -157246,7 +158512,7 @@ Modify linuxGetSizesStruct to use pci_device instead of pciConfigPtr. commit 12595a77d6c2f037f48dfe751bdc10505b3317df -Merge: 37838de 4c225a3 +Merge: 37838de62e 4c225a3a8b Author: Ian Romanick Date: Thu Jul 13 12:48:03 2006 -0700 @@ -157287,7 +158553,7 @@ Fix crash in Xephyr when running on host X with keymap width < 4 ( i.e xvnc ) commit 21e3e3ca298dce22e5fad6ef38aa6fe9736a1d3b -Merge: e805621 39b2f7b +Merge: e805621894 39b2f7b218 Author: Matthew Allum Date: Sat Jul 8 21:13:52 2006 +0100 @@ -157374,7 +158640,7 @@ Switch the default mouse device on Linux to /dev/input/mice. commit 37838de62edc474f44c0a48bd56470a6c23f8956 -Merge: fd49a0d 8d07ee0 +Merge: fd49a0dcc1 8d07ee070e Author: Ian Romanick Date: Thu Jul 6 13:01:57 2006 -0700 @@ -157400,7 +158666,7 @@ Spotted by Aaron Plattner. commit fd49a0dcc13280cf195bd6c7ee0f23d0840cb665 -Merge: e66e7b4 28b95fd +Merge: e66e7b48e1 28b95fd9d1 Author: Ian Romanick Date: Thu Jul 6 09:52:15 2006 -0700 @@ -157458,7 +158724,7 @@ DoGetDrawableAttributes and __glXQueryContextInfoEXT. commit e66e7b48e15543f3753951a19376f0446759963a -Merge: a9d4842 eb35f81 +Merge: a9d4842893 eb35f812a5 Author: Ian Romanick Date: Wed Jul 5 15:21:36 2006 -0700 @@ -157572,7 +158838,7 @@ Missing close parenthesis in one of the setuid() fixes. commit 124a81eb389dfa510ac07ca93ee17c4c9d6e56ea -Merge: d3d6c5f 179737d +Merge: d3d6c5f4d0 179737d4a0 Author: Keith Packard Date: Sat Jul 1 11:12:50 2006 -0700 @@ -157600,7 +158866,7 @@ Move variable declarations to start of blocks as required by c89 commit a9d4842893b65232d61fe4c63f074d30e81021d2 -Merge: 66cac9b 6bd4c25 +Merge: 66cac9b174 6bd4c25439 Author: Ian Romanick Date: Fri Jun 30 11:49:29 2006 -0700 @@ -157614,7 +158880,7 @@ Updated for Solaris 10 changes to DDI commit 66cac9b17498497d939bfb7a4075bcee5a485e5f -Merge: 7c4e540 54d9acd +Merge: 7c4e540253 54d9acd511 Author: Ian Romanick Date: Wed Jun 28 14:11:49 2006 -0700 @@ -157651,14 +158917,14 @@ cairo's clip-operator test. commit 7c4e54025345455f420cd2abaa7a40679689d3cb -Merge: 9d0a15d ff6b59a +Merge: 9d0a15dca5 ff6b59a0db Author: Ian Romanick Date: Mon Jun 26 14:39:44 2006 -0700 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework commit ff6b59a0dbadbe61a53e48c23965d3073d95791b -Merge: b3c8693 48c8715 +Merge: b3c869304c 48c871564d Author: Alan Coopersmith Date: Mon Jun 26 13:02:33 2006 -0700 @@ -157741,7 +159007,7 @@ Add a manpage for EXA. commit 9d0a15dca56b14821cad474f9db9c332acb3b1e6 -Merge: 6c514ca d67fd10 +Merge: 6c514ca14c d67fd10696 Author: Ian Romanick Date: Thu Jun 22 16:21:10 2006 -0700 @@ -157777,7 +159043,7 @@ Use XACE, not XCSECURITY to decide if SecurityLookup* are exported commit 3177dc498a955cd58cd6054a7c7e69724db4a59b -Merge: 3f19803 91dcac5 +Merge: 3f19803e0b 91dcac5295 Author: Alan Coopersmith Date: Wed Jun 21 18:06:06 2006 -0700 @@ -157790,7 +159056,7 @@ APPGROUP requires both X-ACE & XC-SECURITY now commit 91dcac5295486cc55a34ad91704bfa483bd31eeb -Merge: d8135eb 77c947b +Merge: d8135eb9e4 77c947b900 Author: Adam Jackson Date: Wed Jun 21 20:49:30 2006 -0400 @@ -157817,7 +159083,7 @@ Correct ifdef - should be XACE, not XSECURITY commit 90af38fa0c46c2081d2becac262a614c26ba6ef1 -Merge: 3e098ef 77c947b +Merge: 3e098efa35 77c947b900 Author: Alan Coopersmith Date: Wed Jun 21 16:23:31 2006 -0700 @@ -157844,7 +159110,7 @@ of updates.) commit aa131c51e06e735d7b54cadf51205f703a3de4ef -Merge: 1708b0c 77aa701 +Merge: 1708b0c7d9 77aa701e89 Author: Ian Romanick Date: Wed Jun 21 14:39:52 2006 -0700 @@ -157912,7 +159178,7 @@ - Added X-ACE sources to Xext/Makefile.am commit a46c06dab8392cf8012c7cc0b916de9a9e569671 -Merge: 49b368c d44b2a0 +Merge: 49b368c0bb d44b2a0a57 Author: Alan Coopersmith Date: Tue Jun 20 18:40:18 2006 -0700 @@ -157944,7 +159210,7 @@ Move Xserver API for security extension to securitysrv.h commit 49b368c0bb04816c4a3579071c596b2398cae3ec -Merge: 63f6e6b 481d401 +Merge: 63f6e6bbfd 481d4012e7 Author: Alan Coopersmith Date: Tue Jun 20 16:22:39 2006 -0700 @@ -157957,7 +159223,7 @@ Don't add -ldl to XORG_LIBS if it's not needed for dlopen commit 63f6e6bbfd0d3677e29621af982c9392ead98dd7 -Merge: 88ede2c 6df52fb +Merge: 88ede2cec7 6df52fb774 Author: Alan Coopersmith Date: Tue Jun 20 16:03:34 2006 -0700 @@ -157970,7 +159236,7 @@ Delete code that's been inside #if 0 since X11R6.7. commit 75398cff82b56c0a8fc301e84e2087f59a61a360 -Merge: 1f91b57 2b58685 +Merge: 1f91b5726c 2b58685402 Author: Ian Romanick Date: Tue Jun 20 15:49:47 2006 -0700 @@ -157982,7 +159248,7 @@ hw/xfree86/loader/xf86sym.c commit 88ede2cec79281a43cecb43ee6dec65770f82530 -Merge: 227a319 2b58685 +Merge: 227a319340 2b58685402 Author: Alan Coopersmith Date: Tue Jun 20 15:29:55 2006 -0700 @@ -158032,7 +159298,7 @@ (cherry picked from 0106715000196c7b349a0b4494b61545f0f5e138 commit) commit 0707eb33d6826e1300a905edea28c12134600b12 -Merge: 37f0ae0 98d17bb +Merge: 37f0ae0245 98d17bba71 Author: Alan Coopersmith Date: Mon Jun 19 17:09:51 2006 -0700 @@ -158197,7 +159463,7 @@ hadn't been bumped. commit 72ac20c0e878ad48ff61f7e846cbf1005a4eb435 -Merge: fc3e814 b900883 +Merge: fc3e81473a b90088321e Author: Ian Romanick Date: Tue Jun 13 21:13:02 2006 -0700 @@ -158224,7 +159490,7 @@ Provide option to report damage after operation is complete. commit fc3e81473a98d3b932faa73c0c01c21366a48a9e -Merge: 4bedaad 041ef23 +Merge: 4bedaad17d 041ef23192 Author: Ian Romanick Date: Mon Jun 12 09:41:06 2006 -0700 @@ -158261,7 +159527,7 @@ another function that was already in that file. commit 7810d87cd6ae9316d88f6a2e7696deb8837cec27 -Merge: dcfaa9f caad8b7 +Merge: dcfaa9f4f8 caad8b724b Author: Ian Romanick Date: Fri Jun 9 15:16:50 2006 -0700 @@ -158333,7 +159599,7 @@ based on FIXME in mi/miinitext.c commit dcfaa9f4f8fb10b75be50c9a49ccd88caf6d0f6a -Merge: af9afe4 576e6fb +Merge: af9afe4cc5 576e6fb112 Author: Ian Romanick Date: Thu Jun 8 15:03:00 2006 -0700 @@ -158353,7 +159619,7 @@ Bug #7121: fix clipboard handling in Xming (Colin Harrison) commit af9afe4cc50df973bea2293a803f7dfdefaa6411 -Merge: caffac3 3930da3 +Merge: caffac3843 3930da3f62 Author: Ian Romanick Date: Thu Jun 8 11:37:09 2006 -0700 @@ -158430,7 +159696,7 @@ if anyone really cares about this code. commit caffac38432009e8dc01e7d3e72a7fa6fba2f078 -Merge: c5b3aa1 9fa7372 +Merge: c5b3aa120b 9fa73721f0 Author: Ian Romanick Date: Thu Jun 8 10:38:43 2006 -0700 @@ -158541,7 +159807,7 @@ when the symbol PCI_DOM_FROM_TAG couldn't be resolved at run-time. commit 23182315f34e3a0065739b43b15d4560e75b41a1 -Merge: bc05158 757f40f +Merge: bc05158a5a 757f40fca5 Author: Ian Romanick Date: Wed Jun 7 17:03:48 2006 -0700 @@ -158578,7 +159844,7 @@ updated the .gitignore file with more auto-generated files commit bc05158a5ab00c548e4b04b5638afe07bc702260 -Merge: 46f55f5 cc46580 +Merge: 46f55f5dea cc465800dd Author: Ian Romanick Date: Wed Jun 7 14:09:12 2006 -0700 @@ -158598,7 +159864,7 @@ Fix compiler warnings about SetVendorRelease and SetVendorString commit 785c9789704ed142fe98cd17b5995e4a95b7141f -Merge: 21ebcfd 36d786e +Merge: 21ebcfd702 36d786e9f0 Author: Greg Kroah-Hartman Date: Wed Jun 7 13:20:21 2006 -0700 diff -Nru xorg-server-hwe-16.04-1.19.3/compile xorg-server-hwe-16.04-1.19.5/compile --- xorg-server-hwe-16.04-1.19.3/compile 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/compile 2017-10-12 17:25:15.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -342,6 +343,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru xorg-server-hwe-16.04-1.19.3/composite/Makefile.in xorg-server-hwe-16.04-1.19.5/composite/Makefile.in --- xorg-server-hwe-16.04-1.19.3/composite/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/composite/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/config/Makefile.in xorg-server-hwe-16.04-1.19.5/config/Makefile.in --- xorg-server-hwe-16.04-1.19.3/config/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/config/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/config.guess xorg-server-hwe-16.04-1.19.5/config.guess --- xorg-server-hwe-16.04-1.19.3/config.guess 2017-03-15 18:05:58.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/config.guess 2017-10-12 17:25:15.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2013-06-10' +timestamp='2017-08-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +149,7 @@ LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac @@ -168,19 +168,29 @@ # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -197,6 +207,13 @@ os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +224,13 @@ release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -223,6 +240,10 @@ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -235,6 +256,12 @@ *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; + *:Redox:*:*) + echo ${UNAME_MACHINE}-unknown-redox + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -251,42 +278,42 @@ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -359,16 +386,16 @@ exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -393,7 +420,7 @@ exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -579,8 +606,9 @@ else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -617,13 +645,13 @@ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi @@ -662,11 +690,11 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -679,12 +707,12 @@ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -789,14 +817,14 @@ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -812,10 +840,11 @@ UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -826,7 +855,7 @@ *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - i*:MSYS*:*) + *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -878,7 +907,7 @@ exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix @@ -901,7 +930,7 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) @@ -932,6 +961,9 @@ crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -944,6 +976,9 @@ ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -969,10 +1004,13 @@ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - or1k:Linux:*:*) + mips64el:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; - or32:Linux:*:*) + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) @@ -1001,6 +1039,9 @@ ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; @@ -1020,7 +1061,7 @@ echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} @@ -1099,7 +1140,7 @@ # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1248,6 +1289,9 @@ SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1260,22 +1304,39 @@ if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1284,15 +1345,18 @@ *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) + NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; - NSR-?:NONSTOP_KERNEL:*:*) + NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; @@ -1306,7 +1370,7 @@ # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1348,7 +1412,7 @@ echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1359,171 +1423,25 @@ x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; -esac - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs exit ;; - esac -fi +esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff -Nru xorg-server-hwe-16.04-1.19.3/config.sub xorg-server-hwe-16.04-1.19.5/config.sub --- xorg-server-hwe-16.04-1.19.3/config.sub 2017-03-15 18:05:58.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/config.sub 2017-10-12 17:25:15.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2013-08-10' +timestamp='2017-04-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,8 +53,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -68,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,8 +116,8 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -255,16 +254,18 @@ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ - | i370 | i860 | i960 | ia64 \ + | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ + | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -282,8 +283,10 @@ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -295,14 +298,15 @@ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 \ - | or1k | or32 \ + | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -310,6 +314,8 @@ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -324,7 +330,10 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -369,18 +378,20 @@ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -400,8 +411,10 @@ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -413,16 +426,19 @@ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ + | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -430,6 +446,8 @@ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -506,6 +524,9 @@ basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -626,6 +647,14 @@ basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -767,6 +796,9 @@ basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -822,6 +854,10 @@ basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -914,6 +950,9 @@ nsr-tandem) basic_machine=nsr-tandem ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf @@ -998,7 +1037,7 @@ ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -1008,7 +1047,7 @@ ;; ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -1209,6 +1248,9 @@ basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none @@ -1354,27 +1396,28 @@ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1506,6 +1549,8 @@ ;; -nacl*) ;; + -ios) + ;; -none) ;; *) @@ -1592,9 +1637,6 @@ mips*-*) os=-elf ;; - or1k-*) - os=-elf - ;; or32-*) os=-coff ;; @@ -1604,6 +1646,9 @@ sparc-* | *-sun) os=-sunos4.1.1 ;; + pru-*) + os=-elf + ;; *-be) os=-beos ;; diff -Nru xorg-server-hwe-16.04-1.19.3/configure xorg-server-hwe-16.04-1.19.5/configure --- xorg-server-hwe-16.04-1.19.3/configure 2017-03-15 18:05:39.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/configure 2017-10-12 17:25:13.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xorg-server 1.19.3. +# Generated by GNU Autoconf 2.69 for xorg-server 1.19.5. # # Report bugs to . # @@ -651,8 +651,8 @@ # Identity of this package. PACKAGE_NAME='xorg-server' PACKAGE_TARNAME='xorg-server' -PACKAGE_VERSION='1.19.3' -PACKAGE_STRING='xorg-server 1.19.3' +PACKAGE_VERSION='1.19.5' +PACKAGE_STRING='xorg-server 1.19.5' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -2058,7 +2058,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xorg-server 1.19.3 to adapt to many kinds of systems. +\`configure' configures xorg-server 1.19.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2128,7 +2128,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xorg-server 1.19.3:";; + short | recursive ) echo "Configuration of xorg-server 1.19.5:";; esac cat <<\_ACEOF @@ -2325,10 +2325,10 @@ org.x) --with-bundle-version=VERSION Version to use for X11.app's CFBundleVersion - (default: 1.19.3) + (default: 1.19.5) --with-bundle-version-string=VERSION Version to use for X11.app's - CFBundleShortVersionString (default: 1.19.3) + CFBundleShortVersionString (default: 1.19.5) --with-sparkle-feed-url=URL URL for the Sparkle feed (default: https://www.xquartz.org/releases/sparkle/release.xml) @@ -2585,7 +2585,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xorg-server configure 1.19.3 +xorg-server configure 1.19.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3294,7 +3294,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xorg-server $as_me 1.19.3, which was +It was created by xorg-server $as_me 1.19.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3642,8 +3642,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -RELEASE_DATE="2017-03-15" -RELEASE_NAME="Lobster Bisque" +RELEASE_DATE="2017-10-12" +RELEASE_NAME="Shahi Paneer" am__api_version='1.15' @@ -4161,7 +4161,7 @@ # Define the identity of the package. PACKAGE='xorg-server' - VERSION='1.19.3' + VERSION='1.19.5' cat >>confdefs.h <<_ACEOF @@ -12101,9 +12101,8 @@ if test x$FILE_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[01]) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + solaris*) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -12112,9 +12111,8 @@ if test x$MISC_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[01]) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + solaris*) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -12123,9 +12121,8 @@ if test x$DRIVER_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[01]) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + solaris*) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -12134,9 +12131,8 @@ if test x$ADMIN_MAN_SUFFIX = x ; then case $host_os in - # Solaris 2.0 - 11 use SysV man page sections - solaris2.?|solaris2.1[01]) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + solaris*) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -12656,11 +12652,6 @@ fi # Test for the ability of xmlto to generate a text target -# -# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the -# following test for empty XML docbook files. -# For compatibility reasons use the following empty XML docbook file and if -# it fails try it again with a non-empty XML file. have_xmlto_text=no cat > conftest.xml << "EOF" EOF @@ -12668,18 +12659,10 @@ if $XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1; then : have_xmlto_text=yes else - # Try it again with a non-empty XML file. - cat > conftest.xml << "EOF" - -EOF - if $XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1; then : - have_xmlto_text=yes -else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: xmlto cannot generate text format, this format skipped" >&5 $as_echo "$as_me: WARNING: xmlto cannot generate text format, this format skipped" >&2;} fi fi -fi rm -f conftest.xml if test $have_xmlto_text = yes; then HAVE_XMLTO_TEXT_TRUE= @@ -22170,7 +22153,7 @@ fi for ac_header in fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h \ - fnmatch.h sys/mkdev.h sys/utsname.h + fnmatch.h sys/mkdev.h sys/sysmacros.h sys/utsname.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -23840,7 +23823,7 @@ if test "${with_bundle_version+set}" = set; then : withval=$with_bundle_version; BUNDLE_VERSION="${withval}" else - BUNDLE_VERSION="1.19.3" + BUNDLE_VERSION="1.19.5" fi @@ -32862,7 +32845,7 @@ ***********************************************" >&2;} fi -ac_config_files="$ac_config_files Makefile glx/Makefile include/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile doc/dtrace/Makefile man/Makefile fb/Makefile glamor/Makefile record/Makefile config/Makefile mi/Makefile miext/Makefile miext/sync/Makefile miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile pseudoramiX/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile dri3/Makefile present/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/Xorg.sh hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile hw/xfree86/dri2/pci_ids/Makefile hw/xfree86/drivers/Makefile hw/xfree86/drivers/modesetting/Makefile hw/xfree86/exa/Makefile hw/xfree86/exa/man/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/fbdevhw/man/Makefile hw/xfree86/glamor_egl/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/stub/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile hw/dmx/doxygen/doxygen.conf hw/dmx/doxygen/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/dmx/man/Makefile hw/vfb/Makefile hw/vfb/man/Makefile hw/xnest/Makefile hw/xnest/man/Makefile hw/xwin/Makefile hw/xwin/dri/Makefile hw/xwin/glx/Makefile hw/xwin/man/Makefile hw/xwin/winclipboard/Makefile hw/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/man/Makefile hw/xquartz/mach-startup/Makefile hw/xquartz/pbproxy/Makefile hw/xquartz/xpr/Makefile hw/kdrive/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/ephyr/man/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/src/Makefile hw/xwayland/Makefile test/Makefile test/xi1/Makefile test/xi2/Makefile xserver.ent xorg-server.pc" +ac_config_files="$ac_config_files Makefile glx/Makefile include/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile doc/dtrace/Makefile man/Makefile fb/Makefile glamor/Makefile record/Makefile config/Makefile mi/Makefile miext/Makefile miext/sync/Makefile miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile pseudoramiX/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile dri3/Makefile present/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/Xorg.sh hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile hw/xfree86/dri2/pci_ids/Makefile hw/xfree86/drivers/Makefile hw/xfree86/drivers/modesetting/Makefile hw/xfree86/exa/Makefile hw/xfree86/exa/man/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/fbdevhw/man/Makefile hw/xfree86/glamor_egl/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/stub/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/xkb/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile hw/dmx/doxygen/doxygen.conf hw/dmx/doxygen/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/dmx/man/Makefile hw/vfb/Makefile hw/vfb/man/Makefile hw/xnest/Makefile hw/xnest/man/Makefile hw/xwin/Makefile hw/xwin/dri/Makefile hw/xwin/glx/Makefile hw/xwin/man/Makefile hw/xwin/winclipboard/Makefile hw/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/man/Makefile hw/xquartz/mach-startup/Makefile hw/xquartz/pbproxy/Makefile hw/xquartz/xpr/Makefile hw/kdrive/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/ephyr/man/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/src/Makefile hw/xwayland/Makefile test/Makefile test/xi1/Makefile test/xi2/Makefile xserver.ent xorg-server.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -33851,7 +33834,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xorg-server $as_me 1.19.3, which was +This file was extended by xorg-server $as_me 1.19.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33917,7 +33900,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xorg-server config.status 1.19.3 +xorg-server config.status 1.19.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -34410,6 +34393,7 @@ "hw/xfree86/vbe/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/vbe/Makefile" ;; "hw/xfree86/vgahw/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/vgahw/Makefile" ;; "hw/xfree86/x86emu/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/x86emu/Makefile" ;; + "hw/xfree86/xkb/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/xkb/Makefile" ;; "hw/xfree86/utils/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/utils/Makefile" ;; "hw/xfree86/utils/man/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/utils/man/Makefile" ;; "hw/xfree86/utils/cvt/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/utils/cvt/Makefile" ;; diff -Nru xorg-server-hwe-16.04-1.19.3/configure.ac xorg-server-hwe-16.04-1.19.5/configure.ac --- xorg-server-hwe-16.04-1.19.3/configure.ac 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/configure.ac 2017-10-12 17:24:59.000000000 +0000 @@ -26,9 +26,9 @@ dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.19.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2017-03-15" -RELEASE_NAME="Lobster Bisque" +AC_INIT([xorg-server], 1.19.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2017-10-12" +RELEASE_NAME="Shahi Paneer" AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) @@ -134,7 +134,7 @@ AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h \ - fnmatch.h sys/mkdev.h sys/utsname.h]) + fnmatch.h sys/mkdev.h sys/sysmacros.h sys/utsname.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -2647,6 +2647,7 @@ hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile +hw/xfree86/xkb/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile diff -Nru xorg-server-hwe-16.04-1.19.3/damageext/Makefile.in xorg-server-hwe-16.04-1.19.5/damageext/Makefile.in --- xorg-server-hwe-16.04-1.19.3/damageext/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/damageext/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/dbe/dbe.c xorg-server-hwe-16.04-1.19.5/dbe/dbe.c --- xorg-server-hwe-16.04-1.19.3/dbe/dbe.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dbe/dbe.c 2017-10-12 17:24:59.000000000 +0000 @@ -574,6 +574,9 @@ XdbeScreenVisualInfo *pScrVisInfo; REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq); + if (stuff->n > UINT32_MAX / sizeof(CARD32)) + return BadLength; + REQUEST_FIXED_SIZE(xDbeGetVisualInfoReq, stuff->n * sizeof(CARD32)); if (stuff->n > UINT32_MAX / sizeof(DrawablePtr)) return BadAlloc; @@ -924,7 +927,7 @@ swapl(&stuff->n); if (stuff->n > UINT32_MAX / sizeof(DbeSwapInfoRec)) - return BadAlloc; + return BadLength; REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, stuff->n * sizeof(xDbeSwapInfo)); if (stuff->n != 0) { diff -Nru xorg-server-hwe-16.04-1.19.3/dbe/Makefile.in xorg-server-hwe-16.04-1.19.5/dbe/Makefile.in --- xorg-server-hwe-16.04-1.19.3/dbe/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dbe/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/debian/changelog xorg-server-hwe-16.04-1.19.5/debian/changelog --- xorg-server-hwe-16.04-1.19.3/debian/changelog 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/changelog 2018-01-03 11:08:46.000000000 +0000 @@ -1,3 +1,135 @@ +xorg-server-hwe-16.04 (2:1.19.5-0ubuntu2~16.04.1) xenial; urgency=medium + + * Backport to xenial. (LP: #1716203) + - disable xwayland-tablet.diff, not needed on xenial + * control, rules: Drop -dbg package as it got mistakenly added back due + to a merge. This package had migrated to -dbgsym earlier. + + -- Timo Aaltonen Tue, 19 Sep 2017 14:52:44 +0300 + +xorg-server (2:1.19.5-0ubuntu2) artful; urgency=medium + + * Backport upstream patch to fix cropping in XShmGetImage (LP: #1723732). + + -- Dmitry Shachnev Sun, 15 Oct 2017 14:59:53 +0300 + +xorg-server (2:1.19.5-0ubuntu1) artful; urgency=medium + + * New upstream release + - Fix CVE's: + CVE-2017-12176, CVE-2017-12177, CVE-2017-12178, CVE-2017-12179, + CVE-2017-12180, CVE-2017-12181, CVE-2017-12182, CVE-2017-12183, + CVE-2017-12184, CVE-2017-12185, CVE-2017-12186, CVE-2017-12187 + - Revert a commit that regressed PRIME sync + - os: Make sure big requests have sufficient length. + + -- Timo Aaltonen Fri, 13 Oct 2017 08:46:24 +0300 + +xorg-server (2:1.19.4-1ubuntu2) artful; urgency=medium + + * xvfb-run: Keep redirecting stderr to stdout, autopkgtests need it. + + -- Timo Aaltonen Wed, 11 Oct 2017 11:12:57 +0300 + +xorg-server (2:1.19.4-1ubuntu1) artful; urgency=medium + + * Merge from Debian. + - new bugfix release + + -- Timo Aaltonen Tue, 10 Oct 2017 11:13:48 +0300 + +xorg-server (2:1.19.4-1) unstable; urgency=medium + + [ Sven Joachim ] + * xvfb-run: Do not redirect stderr to stdout when running the program + (Closes: #868876, LP: #1059947). + + [ Timo Aaltonen ] + * New upstream release. (Closes: #855206, #857983, #860886) + - CVE-2017-13721, CVE-2017-13723 + * rules: Drop dh_strip override, dbgsym transition is done + (Closes: #876690). + * signing-key.asc: Update Adam Jackson's key. + + [ Julien Cristau ] + * Restore definition of DEB_HOST_ARCH_OS in debian/rules, lost in dh + conversion (2:1.19.1-1). Thanks, Helmut Grohne! + + -- Timo Aaltonen Tue, 10 Oct 2017 00:33:18 +0300 + +xorg-server (2:1.19.3-2) unstable; urgency=high + + * CVE-2017-10972: information leak out of the X server due to an + uninitialized stack area when swapping: + - Xi: Zero target buffer in SProcXSendExtensionEvent + * CVE-2017-10971: stack overflow due to missing GenericEvent handling in + XSendEvent: + - dix: Disallow GenericEvent in SendEvent request + - Xi: Verify all events in ProcXSendExtensionEvent + - Xi: Do not try to swap GenericEvent + * With both those fixes, this closes: #867492 + + -- Julien Cristau Fri, 07 Jul 2017 07:31:11 +0200 + +xorg-server (2:1.19.3-1ubuntu7) artful; urgency=medium + + * Sync from xserver-1.19-branch, drop upstreamed patches: + CVE-2017-10971-{1,2,3}.patch, + CVE-2017-10972.patch, + add-cfl-cnl-ids.diff, + sync-i965-ids.diff, + xwayland-pointer-confine.diff + + -- Timo Aaltonen Tue, 03 Oct 2017 00:24:32 +0300 + +xorg-server (2:1.19.3-1ubuntu6) artful; urgency=medium + + * xwayland-add-grab-protocol-support.diff: Dropped, causes issues with + kvm. (LP: #1713981) + + -- Timo Aaltonen Wed, 30 Aug 2017 14:42:05 +0300 + +xorg-server (2:1.19.3-1ubuntu5) artful; urgency=medium + + * add-cfl-cnl-ids.diff: Add Coffee Lake and Cannonlake pci-ids. + + -- Timo Aaltonen Mon, 28 Aug 2017 18:44:04 +0300 + +xorg-server (2:1.19.3-1ubuntu4) artful; urgency=medium + + * xwayland-tablet.diff: Add support for Wacom tablets in xwayland. + (LP: #1712571) + * xwayland-pointer-confine.diff: Add pointer locking/confinement fixes + to xwayland. + * xwayland-add-grab-protocol-support.diff: Add support for keyboard + grabbing to xwayland. Bump wayland-protocols build-dependency to 1.9. + + -- Timo Aaltonen Fri, 25 Aug 2017 08:32:17 +0300 + +xorg-server (2:1.19.3-1ubuntu3) artful; urgency=medium + + * SECURITY UPDATE: DoS and possible code execution in endianness + conversion of X Events + - debian/patches/CVE-2017-10971-1.patch: do not try to swap + GenericEvent in Xi/sendexev.c. + - debian/patches/CVE-2017-10971-2.patch: verify all events in + ProcXSendExtensionEvent in Xi/sendexev.c. + - debian/patches/CVE-2017-10971-3.patch: disallow GenericEvent in + SendEvent request in dix/events.c, dix/swapreq.c. + - CVE-2017-10971 + * SECURITY UPDATE: information leak in XEvent handling + - debian/patches/CVE-2017-10972.patch: zero target buffer in + SProcXSendExtensionEvent in Xi/sendexev.c. + - CVE-2017-10972 + + -- Marc Deslauriers Mon, 17 Jul 2017 09:34:04 -0400 + +xorg-server (2:1.19.3-1ubuntu2) artful; urgency=medium + + * sync-i965-ids.diff: Sync i965 pci-id's from mesa. + + -- Timo Aaltonen Wed, 10 May 2017 13:03:42 +0300 + xorg-server-hwe-16.04 (2:1.19.3-1ubuntu1~16.04.4) xenial-security; urgency=medium * SECURITY UPDATE: unvalidated extra length in ProcEstablishConnection diff -Nru xorg-server-hwe-16.04-1.19.3/debian/control xorg-server-hwe-16.04-1.19.5/debian/control --- xorg-server-hwe-16.04-1.19.3/debian/control 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/control 2018-01-03 11:08:46.000000000 +0000 @@ -333,26 +333,6 @@ Replaces: xserver-xephyr Conflicts: xserver-xephyr -Package: xserver-xorg-core-hwe-16.04-dbg -Architecture: any -Depends: - xserver-xorg-core-hwe-16.04 (= ${binary:Version}), - ${misc:Depends}, -Priority: extra -Section: debug -Description: Xorg - the X.Org X server (debugging symbols) - The Xorg X server is an X server for several architectures and operating - systems, which is derived from the XFree86 4.x series of X servers. - . - The Xorg server supports most modern graphics hardware from most vendors, - and supersedes all XFree86 X servers. - . - This package provides debugging symbols for the Xorg X server and associated - modules. -Replaces: xserver-xorg-core-dbg -Provides: xserver-xorg-core-dbg, xorg-renamed-package, xorg-renamed-package-hwe-16.04 -Conflicts: xserver-xorg-core-dbg - #Package: xserver-common #Architecture: all #Multi-Arch: foreign diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-1.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-1.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-1.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-1.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:42 +0300 -Subject: Xi: Do not try to swap GenericEvent. - -The SProcXSendExtensionEvent must not attempt to swap GenericEvent because -it is assuming that the event has fixed size and gives the swapping function -xEvent-sized buffer. - -A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 5e63bfc..5c2e0fc 100644 ---- a/Xi/sendexev.c -+++ b/Xi/sendexev.c -@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client) - - eventP = (xEvent *) &stuff[1]; - for (i = 0; i < stuff->num_events; i++, eventP++) { -+ if (eventP->u.u.type == GenericEvent) { -+ client->errorValue = eventP->u.u.type; -+ return BadValue; -+ } -+ - proc = EventSwapVector[eventP->u.u.type & 0177]; -- if (proc == NotImplemented) /* no swapping proc; invalid event type? */ -+ /* no swapping proc; invalid event type? */ -+ if (proc == NotImplemented) { -+ client->errorValue = eventP->u.u.type; - return BadValue; -+ } - (*proc) (eventP, &eventT); - *eventP = eventT; - } --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-2.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-2.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-2.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-2.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:41 +0300 -Subject: Xi: Verify all events in ProcXSendExtensionEvent. - -The requirement is that events have type in range -EXTENSION_EVENT_BASE..lastEvent, but it was tested -only for first event of all. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -Index: xorg-server-1.19.3/Xi/sendexev.c -=================================================================== ---- xorg-server-1.19.3.orig/Xi/sendexev.c 2017-07-17 09:33:47.024571967 -0400 -+++ xorg-server-1.19.3/Xi/sendexev.c 2017-07-17 09:33:47.024571967 -0400 -@@ -125,7 +125,7 @@ SProcXSendExtensionEvent(ClientPtr clien - int - ProcXSendExtensionEvent(ClientPtr client) - { -- int ret; -+ int ret, i; - DeviceIntPtr dev; - xEvent *first; - XEventClass *list; -@@ -149,10 +149,12 @@ ProcXSendExtensionEvent(ClientPtr client - /* The client's event type must be one defined by an extension. */ - - first = ((xEvent *) &stuff[1]); -- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && -- (first->u.u.type < lastEvent))) { -- client->errorValue = first->u.u.type; -- return BadValue; -+ for (i = 0; i < stuff->num_events; i++) { -+ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && -+ (first[i].u.u.type < lastEvent))) { -+ client->errorValue = first[i].u.u.type; -+ return BadValue; -+ } - } - - list = (XEventClass *) (first + stuff->num_events); diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-3.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-3.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10971-3.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10971-3.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,66 +0,0 @@ -From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:40 +0300 -Subject: dix: Disallow GenericEvent in SendEvent request. - -The SendEvent request holds xEvent which is exactly 32 bytes long, no more, -no less. Both ProcSendEvent and SProcSendEvent verify that the received data -exactly match the request size. However nothing stops the client from passing -in event with xEvent::type = GenericEvent and any value of -xGenericEvent::length. - -In the case of ProcSendEvent, the event will be eventually passed to -WriteEventsToClient which will see that it is Generic event and copy the -arbitrary length from the receive buffer (and possibly past it) and send it to -the other client. This allows clients to copy unitialized heap memory out of X -server or to crash it. - -In case of SProcSendEvent, it will attempt to swap the incoming event by -calling a swapping function from the EventSwapVector array. The swapped event -is written to target buffer, which in this case is local xEvent variable. The -xEvent variable is 32 bytes long, but the swapping functions for GenericEvents -expect that the target buffer has size matching the size of the source -GenericEvent. This allows clients to cause stack buffer overflows. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/dix/events.c b/dix/events.c -index 3e3a01e..d3a33ea 100644 ---- a/dix/events.c -+++ b/dix/events.c -@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client) - client->errorValue = stuff->event.u.u.type; - return BadValue; - } -+ /* Generic events can have variable size, but SendEvent request holds -+ exactly 32B of event data. */ -+ if (stuff->event.u.u.type == GenericEvent) { -+ client->errorValue = stuff->event.u.u.type; -+ return BadValue; -+ } - if (stuff->event.u.u.type == ClientMessage && - stuff->event.u.u.detail != 8 && - stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) { -diff --git a/dix/swapreq.c b/dix/swapreq.c -index 719e9b8..6785059 100644 ---- a/dix/swapreq.c -+++ b/dix/swapreq.c -@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client) - swapl(&stuff->destination); - swapl(&stuff->eventMask); - -+ /* Generic events can have variable size, but SendEvent request holds -+ exactly 32B of event data. */ -+ if (stuff->event.u.u.type == GenericEvent) { -+ client->errorValue = stuff->event.u.u.type; -+ return BadValue; -+ } -+ - /* Swap event */ - proc = EventSwapVector[stuff->event.u.u.type & 0177]; - if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */ --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10972.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10972.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-10972.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-10972.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:39 +0300 -Subject: Xi: Zero target buffer in SProcXSendExtensionEvent. - -Make sure that the xEvent eventT is initialized with zeros, the same way as -in SProcSendEvent. - -Some event swapping functions do not overwrite all 32 bytes of xEvent -structure, for example XSecurityAuthorizationRevoked. Two cooperating -clients, one swapped and the other not, can send -XSecurityAuthorizationRevoked event to each other to retrieve old stack data -from X server. This can be potentialy misused to go around ASLR or -stack-protector. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 11d8202..1cf118a 100644 ---- a/Xi/sendexev.c -+++ b/Xi/sendexev.c -@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client) - { - CARD32 *p; - int i; -- xEvent eventT; -+ xEvent eventT = { .u.u.type = 0 }; - xEvent *eventP; - EventSwapPtr proc; - --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12176.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12176.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12176.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12176.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -From b747da5e25be944337a9cd1415506fc06b70aa81 Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Fri, 9 Jan 2015 10:15:46 -0500 -Subject: Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176) - -Reviewed-by: Julien Cristau -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -Index: xorg-server-1.19.3/dix/dispatch.c -=================================================================== ---- xorg-server-1.19.3.orig/dix/dispatch.c 2017-10-13 08:15:29.224116021 -0400 -+++ xorg-server-1.19.3/dix/dispatch.c 2017-10-13 08:15:29.220115982 -0400 -@@ -3703,7 +3703,12 @@ ProcEstablishConnection(ClientPtr client - prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq); - auth_proto = (char *) prefix + sz_xConnClientPrefix; - auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto); -- if ((prefix->majorVersion != X_PROTOCOL) || -+ -+ if ((client->req_len << 2) != sz_xReq + sz_xConnClientPrefix + -+ pad_to_int32(prefix->nbytesAuthProto) + -+ pad_to_int32(prefix->nbytesAuthString)) -+ reason = "Bad length"; -+ else if ((prefix->majorVersion != X_PROTOCOL) || - (prefix->minorVersion != X_PROTOCOL_REVISION)) - reason = "Protocol version mismatch"; - else diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12177.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12177.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12177.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12177.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -From 4ca68b878e851e2136c234f40a25008297d8d831 Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Fri, 9 Jan 2015 10:09:14 -0500 -Subject: dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo - (CVE-2017-12177) - -v2: Protect against integer overflow (Alan Coopersmith) - -Reviewed-by: Alan Coopersmith -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -diff --git a/dbe/dbe.c b/dbe/dbe.c -index 9a0c7a7..292a223 100644 ---- a/dbe/dbe.c -+++ b/dbe/dbe.c -@@ -574,6 +574,9 @@ ProcDbeGetVisualInfo(ClientPtr client) - XdbeScreenVisualInfo *pScrVisInfo; - - REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq); -+ if (stuff->n > UINT32_MAX / sizeof(CARD32)) -+ return BadLength; -+ REQUEST_FIXED_SIZE(xDbeGetVisualInfoReq, stuff->n * sizeof(CARD32)); - - if (stuff->n > UINT32_MAX / sizeof(DrawablePtr)) - return BadAlloc; -@@ -924,7 +927,7 @@ SProcDbeSwapBuffers(ClientPtr client) - - swapl(&stuff->n); - if (stuff->n > UINT32_MAX / sizeof(DbeSwapInfoRec)) -- return BadAlloc; -+ return BadLength; - REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, stuff->n * sizeof(xDbeSwapInfo)); - - if (stuff->n != 0) { --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12178.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12178.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12178.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12178.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -From 859b08d523307eebde7724fd1a0789c44813e821 Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Wed, 24 Dec 2014 16:22:18 -0500 -Subject: Xi: fix wrong extra length check in ProcXIChangeHierarchy - (CVE-2017-12178) - -Reviewed-by: Alan Coopersmith -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c -index 87f191f..cbdd912 100644 ---- a/Xi/xichangehierarchy.c -+++ b/Xi/xichangehierarchy.c -@@ -423,7 +423,7 @@ ProcXIChangeHierarchy(ClientPtr client) - if (!stuff->num_changes) - return rc; - -- len = ((size_t)stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo); -+ len = ((size_t)stuff->length << 2) - sizeof(xXIChangeHierarchyReq); - - any = (xXIAnyHierarchyChangeInfo *) &stuff[1]; - while (stuff->num_changes--) { --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12179-1.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12179-1.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12179-1.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12179-1.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -From 211e05ac85a294ef361b9f80d689047fa52b9076 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Fri, 7 Jul 2017 17:21:46 +0200 -Subject: Xi: Test exact size of XIBarrierReleasePointer - -Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer. - -Signed-off-by: Peter Hutterer - -diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c -index af1562e..d82ecb6 100644 ---- a/Xi/xibarriers.c -+++ b/Xi/xibarriers.c -@@ -830,10 +830,13 @@ SProcXIBarrierReleasePointer(ClientPtr client) - REQUEST(xXIBarrierReleasePointerReq); - int i; - -- info = (xXIBarrierReleasePointerInfo*) &stuff[1]; -- - swaps(&stuff->length); -+ REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); -+ - swapl(&stuff->num_barriers); -+ REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); -+ -+ info = (xXIBarrierReleasePointerInfo*) &stuff[1]; - for (i = 0; i < stuff->num_barriers; i++, info++) { - swaps(&info->deviceid); - swapl(&info->barrier); -@@ -853,7 +856,7 @@ ProcXIBarrierReleasePointer(ClientPtr client) - xXIBarrierReleasePointerInfo *info; - - REQUEST(xXIBarrierReleasePointerReq); -- REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); -+ REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); - - info = (xXIBarrierReleasePointerInfo*) &stuff[1]; - for (i = 0; i < stuff->num_barriers; i++, info++) { --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12179-2.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12179-2.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12179-2.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12179-2.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -From d088e3c1286b548a58e62afdc70bb40981cdb9e8 Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Fri, 9 Jan 2015 10:04:41 -0500 -Subject: Xi: integer overflow and unvalidated length in - (S)ProcXIBarrierReleasePointer - -[jcristau: originally this patch fixed the same issue as commit - 211e05ac85 "Xi: Test exact size of XIBarrierReleasePointer", with the - addition of these checks] - -This addresses CVE-2017-12179 - -Reviewed-by: Alan Coopersmith -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Jeremy Huddleston Sequoia -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c -index d82ecb6..d0be701 100644 ---- a/Xi/xibarriers.c -+++ b/Xi/xibarriers.c -@@ -834,6 +834,8 @@ SProcXIBarrierReleasePointer(ClientPtr client) - REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); - - swapl(&stuff->num_barriers); -+ if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) -+ return BadLength; - REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); - - info = (xXIBarrierReleasePointerInfo*) &stuff[1]; -@@ -856,6 +858,9 @@ ProcXIBarrierReleasePointer(ClientPtr client) - xXIBarrierReleasePointerInfo *info; - - REQUEST(xXIBarrierReleasePointerReq); -+ REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); -+ if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) -+ return BadLength; - REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); - - info = (xXIBarrierReleasePointerInfo*) &stuff[1]; --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12180-12182.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12180-12182.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12180-12182.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12180-12182.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,600 +0,0 @@ -From 1b1d4c04695dced2463404174b50b3581dbd857b Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Sun, 21 Dec 2014 01:10:03 -0500 -Subject: hw/xfree86: unvalidated lengths - -This addresses: -CVE-2017-12180 in XFree86-VidModeExtension -CVE-2017-12181 in XFree86-DGA -CVE-2017-12182 in XFree86-DRI - -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -diff --git a/Xext/vidmode.c b/Xext/vidmode.c -index 8ba919a..6e4a7c7 100644 ---- a/Xext/vidmode.c -+++ b/Xext/vidmode.c -@@ -454,6 +454,20 @@ ProcVidModeAddModeLine(ClientPtr client) - DEBUG_P("XF86VidModeAddModeline"); - - ver = ClientMajorVersion(client); -+ -+ if (ver < 2) { -+ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); -+ } -+ else { -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); -+ } -+ - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -501,18 +515,6 @@ ProcVidModeAddModeLine(ClientPtr client) - stuff->after_vsyncend, stuff->after_vtotal, - (unsigned long) stuff->after_flags); - -- if (ver < 2) { -- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); -- } -- else { -- REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); -- } - if (len != stuff->privsize) - return BadLength; - -@@ -622,6 +624,20 @@ ProcVidModeDeleteModeLine(ClientPtr client) - DEBUG_P("XF86VidModeDeleteModeline"); - - ver = ClientMajorVersion(client); -+ -+ if (ver < 2) { -+ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); -+ } -+ else { -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); -+ } -+ - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -649,18 +665,6 @@ ProcVidModeDeleteModeLine(ClientPtr client) - stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, - (unsigned long) stuff->flags); - -- if (ver < 2) { -- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); -- } -- else { -- REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); -- } - if (len != stuff->privsize) { - DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, " - "len = %d, length = %d\n", -@@ -744,6 +748,20 @@ ProcVidModeModModeLine(ClientPtr client) - DEBUG_P("XF86VidModeModModeline"); - - ver = ClientMajorVersion(client); -+ -+ if (ver < 2) { -+ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); -+ } -+ else { -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); -+ } -+ - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -768,18 +786,6 @@ ProcVidModeModModeLine(ClientPtr client) - stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, - stuff->vtotal, (unsigned long) stuff->flags); - -- if (ver < 2) { -- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); -- } -- else { -- REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); -- } - if (len != stuff->privsize) - return BadLength; - -@@ -877,6 +883,19 @@ ProcVidModeValidateModeLine(ClientPtr client) - DEBUG_P("XF86VidModeValidateModeline"); - - ver = ClientMajorVersion(client); -+ -+ if (ver < 2) { -+ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); -+ len = client->req_len - -+ bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); -+ } -+ else { -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); -+ } -+ - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -905,17 +924,6 @@ ProcVidModeValidateModeLine(ClientPtr client) - stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, - (unsigned long) stuff->flags); - -- if (ver < 2) { -- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); -- len = client->req_len - -- bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); -- } -- else { -- REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); -- } - if (len != stuff->privsize) - return BadLength; - -@@ -1027,6 +1035,20 @@ ProcVidModeSwitchToMode(ClientPtr client) - DEBUG_P("XF86VidModeSwitchToMode"); - - ver = ClientMajorVersion(client); -+ -+ if (ver < 2) { -+ REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); -+ } -+ else { -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); -+ len = -+ client->req_len - -+ bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); -+ } -+ - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -1055,18 +1077,6 @@ ProcVidModeSwitchToMode(ClientPtr client) - stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, - (unsigned long) stuff->flags); - -- if (ver < 2) { -- REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); -- } -- else { -- REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); -- len = -- client->req_len - -- bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); -- } - if (len != stuff->privsize) - return BadLength; - -@@ -1457,6 +1467,7 @@ ProcVidModeSetGammaRamp(ClientPtr client) - VidModePtr pVidMode; - - REQUEST(xXF86VidModeSetGammaRampReq); -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq); - - if (stuff->screen >= screenInfo.numScreens) - return BadValue; -diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c -index 95434e8..505b019 100644 ---- a/hw/xfree86/common/xf86DGA.c -+++ b/hw/xfree86/common/xf86DGA.c -@@ -1272,13 +1272,14 @@ ProcXDGAOpenFramebuffer(ClientPtr client) - char *deviceName; - int nameSize; - -+ REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (!DGAAvailable(stuff->screen)) - return DGAErrorBase + XF86DGANoDirectVideoMode; - -- REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1305,14 +1306,14 @@ ProcXDGACloseFramebuffer(ClientPtr client) - { - REQUEST(xXDGACloseFramebufferReq); - -+ REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (!DGAAvailable(stuff->screen)) - return DGAErrorBase + XF86DGANoDirectVideoMode; - -- REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); -- - DGACloseFramebuffer(stuff->screen); - - return Success; -@@ -1328,10 +1329,11 @@ ProcXDGAQueryModes(ClientPtr client) - xXDGAModeInfo info; - XDGAModePtr mode; - -+ REQUEST_SIZE_MATCH(xXDGAQueryModesReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXDGAQueryModesReq); - rep.type = X_Reply; - rep.length = 0; - rep.number = 0; -@@ -1443,11 +1445,12 @@ ProcXDGASetMode(ClientPtr client) - ClientPtr owner; - int size; - -+ REQUEST_SIZE_MATCH(xXDGASetModeReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - owner = DGA_GETCLIENT(stuff->screen); - -- REQUEST_SIZE_MATCH(xXDGASetModeReq); - rep.type = X_Reply; - rep.length = 0; - rep.offset = 0; -@@ -1533,14 +1536,14 @@ ProcXDGASetViewport(ClientPtr client) - { - REQUEST(xXDGASetViewportReq); - -+ REQUEST_SIZE_MATCH(xXDGASetViewportReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGASetViewportReq); -- - DGASetViewport(stuff->screen, stuff->x, stuff->y, stuff->flags); - - return Success; -@@ -1554,14 +1557,14 @@ ProcXDGAInstallColormap(ClientPtr client) - - REQUEST(xXDGAInstallColormapReq); - -+ REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); -- - rc = dixLookupResourceByType((void **) &cmap, stuff->cmap, RT_COLORMAP, - client, DixInstallAccess); - if (rc != Success) -@@ -1575,14 +1578,14 @@ ProcXDGASelectInput(ClientPtr client) - { - REQUEST(xXDGASelectInputReq); - -+ REQUEST_SIZE_MATCH(xXDGASelectInputReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGASelectInputReq); -- - if (DGA_GETCLIENT(stuff->screen) == client) - DGASelectInput(stuff->screen, client, stuff->mask); - -@@ -1594,14 +1597,14 @@ ProcXDGAFillRectangle(ClientPtr client) - { - REQUEST(xXDGAFillRectangleReq); - -+ REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); -- - if (Success != DGAFillRect(stuff->screen, stuff->x, stuff->y, - stuff->width, stuff->height, stuff->color)) - return BadMatch; -@@ -1614,14 +1617,14 @@ ProcXDGACopyArea(ClientPtr client) - { - REQUEST(xXDGACopyAreaReq); - -+ REQUEST_SIZE_MATCH(xXDGACopyAreaReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGACopyAreaReq); -- - if (Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy, - stuff->width, stuff->height, stuff->dstx, - stuff->dsty)) -@@ -1635,14 +1638,14 @@ ProcXDGACopyTransparentArea(ClientPtr client) - { - REQUEST(xXDGACopyTransparentAreaReq); - -+ REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); -- - if (Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy, - stuff->width, stuff->height, stuff->dstx, - stuff->dsty, stuff->key)) -@@ -1657,13 +1660,14 @@ ProcXDGAGetViewportStatus(ClientPtr client) - REQUEST(xXDGAGetViewportStatusReq); - xXDGAGetViewportStatusReply rep; - -+ REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1680,13 +1684,14 @@ ProcXDGASync(ClientPtr client) - REQUEST(xXDGASyncReq); - xXDGASyncReply rep; - -+ REQUEST_SIZE_MATCH(xXDGASyncReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGASyncReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1725,13 +1730,14 @@ ProcXDGAChangePixmapMode(ClientPtr client) - xXDGAChangePixmapModeReply rep; - int x, y; - -+ REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1755,14 +1761,14 @@ ProcXDGACreateColormap(ClientPtr client) - REQUEST(xXDGACreateColormapReq); - int result; - -+ REQUEST_SIZE_MATCH(xXDGACreateColormapReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXDGACreateColormapReq); -- - if (!stuff->mode) - return BadValue; - -@@ -1791,10 +1797,11 @@ ProcXF86DGAGetVideoLL(ClientPtr client) - int num, offset, flags; - char *name; - -+ REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1831,9 +1838,10 @@ ProcXF86DGADirectVideo(ClientPtr client) - - REQUEST(xXF86DGADirectVideoReq); - -+ REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; -- REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); - - if (!DGAAvailable(stuff->screen)) - return DGAErrorBase + XF86DGANoDirectVideoMode; -@@ -1889,10 +1897,11 @@ ProcXF86DGAGetViewPortSize(ClientPtr client) - REQUEST(xXF86DGAGetViewPortSizeReq); - xXF86DGAGetViewPortSizeReply rep; - -+ REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1917,14 +1926,14 @@ ProcXF86DGASetViewPort(ClientPtr client) - { - REQUEST(xXF86DGASetViewPortReq); - -+ REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); -- - if (!DGAAvailable(stuff->screen)) - return DGAErrorBase + XF86DGANoDirectVideoMode; - -@@ -1944,10 +1953,11 @@ ProcXF86DGAGetVidPage(ClientPtr client) - REQUEST(xXF86DGAGetVidPageReq); - xXF86DGAGetVidPageReply rep; - -+ REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -1962,11 +1972,11 @@ ProcXF86DGASetVidPage(ClientPtr client) - { - REQUEST(xXF86DGASetVidPageReq); - -+ REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); -- - /* silently fail */ - - return Success; -@@ -1980,14 +1990,14 @@ ProcXF86DGAInstallColormap(ClientPtr client) - - REQUEST(xXF86DGAInstallColormapReq); - -+ REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); -- - if (!DGAActive(stuff->screen)) - return DGAErrorBase + XF86DGADirectNotActivated; - -@@ -2008,10 +2018,11 @@ ProcXF86DGAQueryDirectVideo(ClientPtr client) - REQUEST(xXF86DGAQueryDirectVideoReq); - xXF86DGAQueryDirectVideoReply rep; - -+ REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - -- REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -@@ -2030,14 +2041,14 @@ ProcXF86DGAViewPortChanged(ClientPtr client) - REQUEST(xXF86DGAViewPortChangedReq); - xXF86DGAViewPortChangedReply rep; - -+ REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); -+ - if (stuff->screen >= screenInfo.numScreens) - return BadValue; - - if (DGA_GETCLIENT(stuff->screen) != client) - return DGAErrorBase + XF86DGADirectNotActivated; - -- REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); -- - if (!DGAActive(stuff->screen)) - return DGAErrorBase + XF86DGADirectNotActivated; - -diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c -index 8f3c2d6..d356db9 100644 ---- a/hw/xfree86/dri/xf86dri.c -+++ b/hw/xfree86/dri/xf86dri.c -@@ -570,6 +570,7 @@ static int _X_COLD - SProcXF86DRIQueryDirectRenderingCapable(register ClientPtr client) - { - REQUEST(xXF86DRIQueryDirectRenderingCapableReq); -+ REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq); - swaps(&stuff->length); - swapl(&stuff->screen); - return ProcXF86DRIQueryDirectRenderingCapable(client); --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12183.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12183.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12183.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12183.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -From 55caa8b08c84af2b50fbc936cf334a5a93dd7db5 Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Fri, 9 Jan 2015 11:43:05 -0500 -Subject: xfixes: unvalidated lengths (CVE-2017-12183) - -v2: Use before swap (Jeremy Huddleston Sequoia) - -v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith) - -Reviewed-by: Alan Coopersmith -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Jeremy Huddleston Sequoia -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -diff --git a/xfixes/cursor.c b/xfixes/cursor.c -index c1ab3be..dc447ed 100644 ---- a/xfixes/cursor.c -+++ b/xfixes/cursor.c -@@ -281,6 +281,7 @@ int _X_COLD - SProcXFixesSelectCursorInput(ClientPtr client) - { - REQUEST(xXFixesSelectCursorInputReq); -+ REQUEST_SIZE_MATCH(xXFixesSelectCursorInputReq); - - swaps(&stuff->length); - swapl(&stuff->window); -@@ -414,7 +415,7 @@ ProcXFixesSetCursorName(ClientPtr client) - REQUEST(xXFixesSetCursorNameReq); - Atom atom; - -- REQUEST_AT_LEAST_SIZE(xXFixesSetCursorNameReq); -+ REQUEST_FIXED_SIZE(xXFixesSetCursorNameReq, stuff->nbytes); - VERIFY_CURSOR(pCursor, stuff->cursor, client, DixSetAttrAccess); - tchar = (char *) &stuff[1]; - atom = MakeAtom(tchar, stuff->nbytes, TRUE); -@@ -1007,6 +1008,8 @@ SProcXFixesCreatePointerBarrier(ClientPtr client) - int i; - CARD16 *in_devices = (CARD16 *) &stuff[1]; - -+ REQUEST_AT_LEAST_SIZE(xXFixesCreatePointerBarrierReq); -+ - swaps(&stuff->length); - swaps(&stuff->num_devices); - REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); -diff --git a/xfixes/region.c b/xfixes/region.c -index e773701..7c0a7d2 100644 ---- a/xfixes/region.c -+++ b/xfixes/region.c -@@ -359,6 +359,7 @@ ProcXFixesCopyRegion(ClientPtr client) - RegionPtr pSource, pDestination; - - REQUEST(xXFixesCopyRegionReq); -+ REQUEST_SIZE_MATCH(xXFixesCopyRegionReq); - - VERIFY_REGION(pSource, stuff->source, client, DixReadAccess); - VERIFY_REGION(pDestination, stuff->destination, client, DixWriteAccess); -@@ -375,7 +376,7 @@ SProcXFixesCopyRegion(ClientPtr client) - REQUEST(xXFixesCopyRegionReq); - - swaps(&stuff->length); -- REQUEST_AT_LEAST_SIZE(xXFixesCopyRegionReq); -+ REQUEST_SIZE_MATCH(xXFixesCopyRegionReq); - swapl(&stuff->source); - swapl(&stuff->destination); - return (*ProcXFixesVector[stuff->xfixesReqType]) (client); -diff --git a/xfixes/saveset.c b/xfixes/saveset.c -index 2043153..fd9c7a1 100644 ---- a/xfixes/saveset.c -+++ b/xfixes/saveset.c -@@ -62,6 +62,7 @@ int _X_COLD - SProcXFixesChangeSaveSet(ClientPtr client) - { - REQUEST(xXFixesChangeSaveSetReq); -+ REQUEST_SIZE_MATCH(xXFixesChangeSaveSetReq); - - swaps(&stuff->length); - swapl(&stuff->window); -diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c -index 77efd64..248bf02 100644 ---- a/xfixes/xfixes.c -+++ b/xfixes/xfixes.c -@@ -160,6 +160,7 @@ static _X_COLD int - SProcXFixesQueryVersion(ClientPtr client) - { - REQUEST(xXFixesQueryVersionReq); -+ REQUEST_SIZE_MATCH(xXFixesQueryVersionReq); - - swaps(&stuff->length); - swapl(&stuff->majorVersion); --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12184-12187.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12184-12187.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-12184-12187.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-12184-12187.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,135 +0,0 @@ -From cad5a1050b7184d828aef9c1dd151c3ab649d37e Mon Sep 17 00:00:00 2001 -From: Nathan Kidd -Date: Fri, 9 Jan 2015 09:57:23 -0500 -Subject: Unvalidated lengths - -v2: Add overflow check and remove unnecessary check (Julien Cristau) - -This addresses: -CVE-2017-12184 in XINERAMA -CVE-2017-12185 in MIT-SCREEN-SAVER -CVE-2017-12186 in X-Resource -CVE-2017-12187 in RENDER - -Reviewed-by: Jeremy Huddleston Sequoia -Reviewed-by: Julien Cristau -Signed-off-by: Nathan Kidd -Signed-off-by: Julien Cristau - -Index: xorg-server-1.19.3/Xext/panoramiX.c -=================================================================== ---- xorg-server-1.19.3.orig/Xext/panoramiX.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/Xext/panoramiX.c 2017-10-13 08:23:12.680603943 -0400 -@@ -988,10 +988,11 @@ ProcPanoramiXGetScreenSize(ClientPtr cli - xPanoramiXGetScreenSizeReply rep; - int rc; - -+ REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); -+ - if (stuff->screen >= PanoramiXNumScreens) - return BadMatch; - -- REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); - rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); - if (rc != Success) - return rc; -Index: xorg-server-1.19.3/Xext/saver.c -=================================================================== ---- xorg-server-1.19.3.orig/Xext/saver.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/Xext/saver.c 2017-10-13 08:23:12.680603943 -0400 -@@ -1185,6 +1185,8 @@ ProcScreenSaverUnsetAttributes(ClientPtr - PanoramiXRes *draw; - int rc, i; - -+ REQUEST_SIZE_MATCH(xScreenSaverUnsetAttributesReq); -+ - rc = dixLookupResourceByClass((void **) &draw, stuff->drawable, - XRC_DRAWABLE, client, DixWriteAccess); - if (rc != Success) -Index: xorg-server-1.19.3/Xext/xres.c -=================================================================== ---- xorg-server-1.19.3.orig/Xext/xres.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/Xext/xres.c 2017-10-13 08:23:12.680603943 -0400 -@@ -947,6 +947,8 @@ ProcXResQueryResourceBytes (ClientPtr cl - ConstructResourceBytesCtx ctx; - - REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); -+ if (stuff->numSpecs > UINT32_MAX / sizeof(ctx.specs[0])) -+ return BadLength; - REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, - stuff->numSpecs * sizeof(ctx.specs[0])); - -@@ -1052,8 +1054,8 @@ SProcXResQueryResourceBytes (ClientPtr c - int c; - xXResResourceIdSpec *specs = (void*) ((char*) stuff + sizeof(*stuff)); - -- swapl(&stuff->numSpecs); - REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); -+ swapl(&stuff->numSpecs); - REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, - stuff->numSpecs * sizeof(specs[0])); - -Index: xorg-server-1.19.3/Xext/xvdisp.c -=================================================================== ---- xorg-server-1.19.3.orig/Xext/xvdisp.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/Xext/xvdisp.c 2017-10-13 08:23:12.680603943 -0400 -@@ -1493,12 +1493,14 @@ XineramaXvShmPutImage(ClientPtr client) - { - REQUEST(xvShmPutImageReq); - PanoramiXRes *draw, *gc, *port; -- Bool send_event = stuff->send_event; -+ Bool send_event; - Bool isRoot; - int result, i, x, y; - - REQUEST_SIZE_MATCH(xvShmPutImageReq); - -+ send_event = stuff->send_event; -+ - result = dixLookupResourceByClass((void **) &draw, stuff->drawable, - XRC_DRAWABLE, client, DixWriteAccess); - if (result != Success) -Index: xorg-server-1.19.3/hw/dmx/dmxpict.c -=================================================================== ---- xorg-server-1.19.3.orig/hw/dmx/dmxpict.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/hw/dmx/dmxpict.c 2017-10-13 08:23:12.680603943 -0400 -@@ -716,6 +716,8 @@ dmxProcRenderSetPictureFilter(ClientPtr - filter = (char *) (stuff + 1); - params = (XFixed *) (filter + ((stuff->nbytes + 3) & ~3)); - nparams = ((XFixed *) stuff + client->req_len) - params; -+ if (nparams < 0) -+ return BadLength; - - XRenderSetPictureFilter(dmxScreen->beDisplay, - pPictPriv->pict, filter, params, nparams); -Index: xorg-server-1.19.3/pseudoramiX/pseudoramiX.c -=================================================================== ---- xorg-server-1.19.3.orig/pseudoramiX/pseudoramiX.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/pseudoramiX/pseudoramiX.c 2017-10-13 08:23:12.680603943 -0400 -@@ -297,10 +297,11 @@ ProcPseudoramiXGetScreenSize(ClientPtr c - - TRACE; - -+ REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); -+ - if (stuff->screen >= pseudoramiXNumScreens) - return BadMatch; - -- REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); - rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); - if (rc != Success) - return rc; -Index: xorg-server-1.19.3/render/render.c -=================================================================== ---- xorg-server-1.19.3.orig/render/render.c 2017-10-13 08:23:12.684603981 -0400 -+++ xorg-server-1.19.3/render/render.c 2017-10-13 08:23:12.684603981 -0400 -@@ -1757,6 +1757,9 @@ ProcRenderSetPictureFilter(ClientPtr cli - name = (char *) (stuff + 1); - params = (xFixed *) (name + pad_to_int32(stuff->nbytes)); - nparams = ((xFixed *) stuff + client->req_len) - params; -+ if (nparams < 0) -+ return BadLength; -+ - result = SetPictureFilter(pPicture, name, stuff->nbytes, params, nparams); - return result; - } diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-13721.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-13721.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-13721.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-13721.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -From b95f25af141d33a65f6f821ea9c003f66a01e1f1 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Fri, 28 Jul 2017 16:27:10 +0200 -Subject: Xext/shm: Validate shmseg resource id (CVE-2017-13721) - -Otherwise it can belong to a non-existing client and abort X server with -FatalError "client not in use", or overwrite existing segment of another -existing client. - -Signed-off-by: Julien Cristau - -diff --git a/Xext/shm.c b/Xext/shm.c -index 91ea90b..2f9a788 100644 ---- a/Xext/shm.c -+++ b/Xext/shm.c -@@ -1238,6 +1238,7 @@ ProcShmCreateSegment(ClientPtr client) - }; - - REQUEST_SIZE_MATCH(xShmCreateSegmentReq); -+ LEGAL_NEW_RESOURCE(stuff->shmseg, client); - if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) { - client->errorValue = stuff->readOnly; - return BadValue; --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-13723.patch xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-13723.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/CVE-2017-13723.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/CVE-2017-13723.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ -From 94f11ca5cf011ef123bd222cabeaef6f424d76ac Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Thu, 27 Jul 2017 10:08:32 -0700 -Subject: xkb: Handle xkb formated string output safely (CVE-2017-13723) - -Generating strings for XKB data used a single shared static buffer, -which offered several opportunities for errors. Use a ring of -resizable buffers instead, to avoid problems when strings end up -longer than anticipated. - -Reviewed-by: Michal Srb -Signed-off-by: Keith Packard -Signed-off-by: Julien Cristau - -diff --git a/xkb/xkbtext.c b/xkb/xkbtext.c -index ead2b1a..d2a2567 100644 ---- a/xkb/xkbtext.c -+++ b/xkb/xkbtext.c -@@ -47,23 +47,27 @@ - - /***====================================================================***/ - --#define BUFFER_SIZE 512 -- --static char textBuffer[BUFFER_SIZE]; --static int tbNext = 0; -+#define NUM_BUFFER 8 -+static struct textBuffer { -+ int size; -+ char *buffer; -+} textBuffer[NUM_BUFFER]; -+static int textBufferIndex; - - static char * - tbGetBuffer(unsigned size) - { -- char *rtrn; -+ struct textBuffer *tb; - -- if (size >= BUFFER_SIZE) -- return NULL; -- if ((BUFFER_SIZE - tbNext) <= size) -- tbNext = 0; -- rtrn = &textBuffer[tbNext]; -- tbNext += size; -- return rtrn; -+ tb = &textBuffer[textBufferIndex]; -+ textBufferIndex = (textBufferIndex + 1) % NUM_BUFFER; -+ -+ if (size > tb->size) { -+ free(tb->buffer); -+ tb->buffer = xnfalloc(size); -+ tb->size = size; -+ } -+ return tb->buffer; - } - - /***====================================================================***/ -@@ -79,8 +83,6 @@ XkbAtomText(Atom atm, unsigned format) - int len; - - len = strlen(atmstr) + 1; -- if (len > BUFFER_SIZE) -- len = BUFFER_SIZE - 2; - rtrn = tbGetBuffer(len); - strlcpy(rtrn, atmstr, len); - } -@@ -128,8 +130,6 @@ XkbVModIndexText(XkbDescPtr xkb, unsigned ndx, unsigned format) - len = strlen(tmp) + 1; - if (format == XkbCFile) - len += 4; -- if (len >= BUFFER_SIZE) -- len = BUFFER_SIZE - 1; - rtrn = tbGetBuffer(len); - if (format == XkbCFile) { - strcpy(rtrn, "vmod_"); -@@ -140,6 +140,8 @@ XkbVModIndexText(XkbDescPtr xkb, unsigned ndx, unsigned format) - return rtrn; - } - -+#define VMOD_BUFFER_SIZE 512 -+ - char * - XkbVModMaskText(XkbDescPtr xkb, - unsigned modMask, unsigned mask, unsigned format) -@@ -147,7 +149,7 @@ XkbVModMaskText(XkbDescPtr xkb, - register int i, bit; - int len; - char *mm, *rtrn; -- char *str, buf[BUFFER_SIZE]; -+ char *str, buf[VMOD_BUFFER_SIZE]; - - if ((modMask == 0) && (mask == 0)) { - rtrn = tbGetBuffer(5); -@@ -173,7 +175,7 @@ XkbVModMaskText(XkbDescPtr xkb, - len = strlen(tmp) + 1 + (str == buf ? 0 : 1); - if (format == XkbCFile) - len += 4; -- if ((str - (buf + len)) <= BUFFER_SIZE) { -+ if ((str - (buf + len)) <= VMOD_BUFFER_SIZE) { - if (str != buf) { - if (format == XkbCFile) - *str++ = '|'; -@@ -199,8 +201,6 @@ XkbVModMaskText(XkbDescPtr xkb, - len = 0; - if (str) - len += strlen(str) + (mm == NULL ? 0 : 1); -- if (len >= BUFFER_SIZE) -- len = BUFFER_SIZE - 1; - rtrn = tbGetBuffer(len + 1); - rtrn[0] = '\0'; - --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/os_big_requests.patch xorg-server-hwe-16.04-1.19.5/debian/patches/os_big_requests.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/os_big_requests.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/os_big_requests.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -From 9c23685009aa96f4b861dcc5d2e01dbee00c4dd9 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Fri, 7 Jul 2017 17:04:03 +0200 -Subject: os: Make sure big requests have sufficient length. - -A client can send a big request where the 32B "length" field has value -0. When the big request header is removed and the length corrected, -the value will underflow to 0xFFFFFFFF. Functions processing the -request later will think that the client sent much more data and may -touch memory beyond the receive buffer. - -Signed-off-by: Eric Anholt -Reviewed-by: Peter Hutterer - -diff --git a/os/io.c b/os/io.c -index b040291..955c249 100644 ---- a/os/io.c -+++ b/os/io.c -@@ -441,6 +441,11 @@ ReadRequestFromClient(ClientPtr client) - if (!gotnow) - AvailableInput = oc; - if (move_header) { -+ if (client->req_len < bytes_to_int32(sizeof(xBigReq) - sizeof(xReq))) { -+ YieldControlDeath(); -+ return -1; -+ } -+ - request = (xReq *) oci->bufptr; - oci->bufptr += (sizeof(xBigReq) - sizeof(xReq)); - *(xReq *) oci->bufptr = *request; --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/series xorg-server-hwe-16.04-1.19.5/debian/patches/series --- xorg-server-hwe-16.04-1.19.3/debian/patches/series 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/series 2018-01-03 11:08:46.000000000 +0000 @@ -28,19 +28,5 @@ xmir.patch xi2-resize-touch.patch -CVE-2017-10971-1.patch -CVE-2017-10971-2.patch -CVE-2017-10971-3.patch -CVE-2017-10972.patch -CVE-2017-13721.patch -CVE-2017-13723.patch -CVE-2017-12176.patch -CVE-2017-12177.patch -CVE-2017-12178.patch -CVE-2017-12179-1.patch -CVE-2017-12179-2.patch -CVE-2017-12180-12182.patch -CVE-2017-12183.patch -CVE-2017-12184-12187.patch -os_big_requests.patch -xkb_escape_fix.patch +#xwayland-tablet.diff +XShmGetImage_fix_censoring.patch diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/xkb_escape_fix.patch xorg-server-hwe-16.04-1.19.5/debian/patches/xkb_escape_fix.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/xkb_escape_fix.patch 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/xkb_escape_fix.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -From eaf1f72ed8994b708d94ec2de7b1a99f5c4a39b8 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Thu, 27 Jul 2017 11:54:26 +0200 -Subject: xkb: Escape non-printable characters correctly. - -XkbStringText escapes non-printable characters using octal numbers. Such escape -sequence would be at most 5 characters long ("\0123"), so it reserves 5 bytes -in the buffer. Due to char->unsigned int conversion, it would print much longer -string for negative numbers. - -Reviewed-by: Keith Packard -Signed-off-by: Julien Cristau - -diff --git a/xkb/xkbtext.c b/xkb/xkbtext.c -index ffbc546..ead2b1a 100644 ---- a/xkb/xkbtext.c -+++ b/xkb/xkbtext.c -@@ -603,7 +603,7 @@ XkbStringText(char *str, unsigned format) - } - else { - *out++ = '0'; -- sprintf(out, "%o", *in); -+ sprintf(out, "%o", (unsigned char) *in); - while (*out != '\0') - out++; - } --- -cgit v0.10.2 - diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/XShmGetImage_fix_censoring.patch xorg-server-hwe-16.04-1.19.5/debian/patches/XShmGetImage_fix_censoring.patch --- xorg-server-hwe-16.04-1.19.3/debian/patches/XShmGetImage_fix_censoring.patch 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/XShmGetImage_fix_censoring.patch 2018-01-03 11:08:46.000000000 +0000 @@ -0,0 +1,29 @@ +Description: XShmGetImage: fix censoring +Origin: upstream, https://cgit.freedesktop.org/xorg/xserver/commit/?id=885636b7d42b3c7b +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1723732 +Last-Update: 2017-10-15 + +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -650,9 +650,8 @@ + wBorderWidth((WindowPtr) pDraw) + (int) pDraw->height) + return BadMatch; + visual = wVisual(((WindowPtr) pDraw)); +- pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw); +- if (pVisibleRegion) +- RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y); ++ if (pDraw->type == DRAWABLE_WINDOW) ++ pVisibleRegion = &((WindowPtr) pDraw)->borderClip; + } + else { + if (stuff->x < 0 || +@@ -715,9 +714,6 @@ + } + } + +- if (pVisibleRegion) +- RegionDestroy(pVisibleRegion); +- + if (client->swapped) { + swaps(&xgi.sequenceNumber); + swapl(&xgi.length); diff -Nru xorg-server-hwe-16.04-1.19.3/debian/patches/xwayland-tablet.diff xorg-server-hwe-16.04-1.19.5/debian/patches/xwayland-tablet.diff --- xorg-server-hwe-16.04-1.19.3/debian/patches/xwayland-tablet.diff 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/patches/xwayland-tablet.diff 2018-01-03 11:08:46.000000000 +0000 @@ -0,0 +1,1568 @@ + +7c7a540f1e1d6b5 xwayland: Implement tablet_tool_wheel for scrolling +fbc9814975fe82b xwayland: Correct off-by-one error in tablet button numbering +a06bb73053d9df5 xwayland: Unconditionally initialize lists in init_tablet_manager_seat() +8475e6360ce3155 xwayland: add tablet pad support +f471b5b8eb451b4 xwayland: update cursor on tablet tools in proximity +6d1ad39fe6c1822 xwayland: Refactor cursor management into xwl_cursor +773b04748d0c839 xwayland: handle button events after motion events +8a1defcc634dadd xwayland: Handle tablet_tool events +5812d1c28f4fb7b xwayland: Handle wp_tablet events +47c4415912b5b16 xwayland: Listen for wp_tablet_seat events +7d48b758a601ce0 xwayland: Bind to wp_tablet_manager if available and get its seats +89c841915ac4fba xwayland: Depend on wayland-protocols to build tablet protocol headers + + +--- a/configure.ac ++++ b/configure.ac +@@ -2526,7 +2526,7 @@ AM_CONDITIONAL(XFAKESERVER, [test "x$KDR + + dnl Xwayland DDX + +-XWAYLANDMODULES="wayland-client >= 1.3.0 wayland-protocols >= 1.1 $LIBDRM epoxy" ++XWAYLANDMODULES="wayland-client >= 1.3.0 wayland-protocols >= 1.5 $LIBDRM epoxy" + if test "x$XF86VIDMODE" = xyes; then + XWAYLANDMODULES="$XWAYLANDMODULES $VIDMODEPROTO" + fi +--- a/hw/xwayland/Makefile.am ++++ b/hw/xwayland/Makefile.am +@@ -56,7 +56,9 @@ Xwayland_built_sources += \ + relative-pointer-unstable-v1-client-protocol.h \ + relative-pointer-unstable-v1-protocol.c \ + pointer-constraints-unstable-v1-client-protocol.h \ +- pointer-constraints-unstable-v1-protocol.c ++ pointer-constraints-unstable-v1-protocol.c \ ++ tablet-unstable-v2-client-protocol.h \ ++ tablet-unstable-v2-protocol.c + + nodist_Xwayland_SOURCES = $(Xwayland_built_sources) + CLEANFILES = $(Xwayland_built_sources) +@@ -79,6 +81,11 @@ pointer-constraints-unstable-v1-protocol + pointer-constraints-unstable-v1-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml + $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@ + ++tablet-unstable-v2-protocol.c: $(WAYLAND_PROTOCOLS_DATADIR)/unstable/tablet/tablet-unstable-v2.xml ++ $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@ ++tablet-unstable-v2-client-protocol.h: $(WAYLAND_PROTOCOLS_DATADIR)/unstable/tablet/tablet-unstable-v2.xml ++ $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@ ++ + %-protocol.c : %.xml + $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@ + +--- a/hw/xwayland/xwayland-cursor.c ++++ b/hw/xwayland/xwayland-cursor.c +@@ -96,11 +96,11 @@ xwl_unrealize_cursor(DeviceIntPtr device + } + + static void +-clear_cursor_frame_callback(struct xwl_seat *xwl_seat) ++clear_cursor_frame_callback(struct xwl_cursor *xwl_cursor) + { +- if (xwl_seat->cursor_frame_cb) { +- wl_callback_destroy (xwl_seat->cursor_frame_cb); +- xwl_seat->cursor_frame_cb = NULL; ++ if (xwl_cursor->frame_cb) { ++ wl_callback_destroy (xwl_cursor->frame_cb); ++ xwl_cursor->frame_cb = NULL; + } + } + +@@ -109,12 +109,12 @@ frame_callback(void *data, + struct wl_callback *callback, + uint32_t time) + { +- struct xwl_seat *xwl_seat = data; ++ struct xwl_cursor *xwl_cursor = data; + +- clear_cursor_frame_callback(xwl_seat); +- if (xwl_seat->cursor_needs_update) { +- xwl_seat->cursor_needs_update = FALSE; +- xwl_seat_set_cursor(xwl_seat); ++ clear_cursor_frame_callback(xwl_cursor); ++ if (xwl_cursor->needs_update) { ++ xwl_cursor->needs_update = FALSE; ++ xwl_cursor->update_proc(xwl_cursor); + } + } + +@@ -125,6 +125,7 @@ static const struct wl_callback_listener + void + xwl_seat_set_cursor(struct xwl_seat *xwl_seat) + { ++ struct xwl_cursor *xwl_cursor = &xwl_seat->cursor; + PixmapPtr pixmap; + CursorPtr cursor; + int stride; +@@ -135,13 +136,13 @@ xwl_seat_set_cursor(struct xwl_seat *xwl + if (!xwl_seat->x_cursor) { + wl_pointer_set_cursor(xwl_seat->wl_pointer, + xwl_seat->pointer_enter_serial, NULL, 0, 0); +- clear_cursor_frame_callback(xwl_seat); +- xwl_seat->cursor_needs_update = FALSE; ++ clear_cursor_frame_callback(xwl_cursor); ++ xwl_cursor->needs_update = FALSE; + return; + } + +- if (xwl_seat->cursor_frame_cb) { +- xwl_seat->cursor_needs_update = TRUE; ++ if (xwl_cursor->frame_cb) { ++ xwl_cursor->needs_update = TRUE; + return; + } + +@@ -159,19 +160,69 @@ xwl_seat_set_cursor(struct xwl_seat *xwl + + wl_pointer_set_cursor(xwl_seat->wl_pointer, + xwl_seat->pointer_enter_serial, +- xwl_seat->cursor, ++ xwl_cursor->surface, + xwl_seat->x_cursor->bits->xhot, + xwl_seat->x_cursor->bits->yhot); +- wl_surface_attach(xwl_seat->cursor, ++ wl_surface_attach(xwl_cursor->surface, + xwl_shm_pixmap_get_wl_buffer(pixmap), 0, 0); +- wl_surface_damage(xwl_seat->cursor, 0, 0, ++ wl_surface_damage(xwl_cursor->surface, 0, 0, + xwl_seat->x_cursor->bits->width, + xwl_seat->x_cursor->bits->height); + +- xwl_seat->cursor_frame_cb = wl_surface_frame(xwl_seat->cursor); +- wl_callback_add_listener(xwl_seat->cursor_frame_cb, &frame_listener, xwl_seat); ++ xwl_cursor->frame_cb = wl_surface_frame(xwl_cursor->surface); ++ wl_callback_add_listener(xwl_cursor->frame_cb, &frame_listener, xwl_cursor); + +- wl_surface_commit(xwl_seat->cursor); ++ wl_surface_commit(xwl_cursor->surface); ++} ++ ++void ++xwl_tablet_tool_set_cursor(struct xwl_tablet_tool *xwl_tablet_tool) ++{ ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ struct xwl_cursor *xwl_cursor = &xwl_tablet_tool->cursor; ++ PixmapPtr pixmap; ++ CursorPtr cursor; ++ int stride; ++ ++ if (!xwl_seat->x_cursor) { ++ zwp_tablet_tool_v2_set_cursor(xwl_tablet_tool->tool, ++ xwl_tablet_tool->proximity_in_serial, ++ NULL, 0, 0); ++ return; ++ } ++ ++ if (xwl_cursor->frame_cb) { ++ xwl_cursor->needs_update = TRUE; ++ return; ++ } ++ ++ cursor = xwl_seat->x_cursor; ++ pixmap = dixGetPrivate(&cursor->devPrivates, &xwl_cursor_private_key); ++ if (!pixmap) ++ return; ++ ++ stride = cursor->bits->width * 4; ++ if (cursor->bits->argb) ++ memcpy(pixmap->devPrivate.ptr, ++ cursor->bits->argb, cursor->bits->height * stride); ++ else ++ expand_source_and_mask(cursor, pixmap->devPrivate.ptr); ++ ++ zwp_tablet_tool_v2_set_cursor(xwl_tablet_tool->tool, ++ xwl_tablet_tool->proximity_in_serial, ++ xwl_cursor->surface, ++ xwl_seat->x_cursor->bits->xhot, ++ xwl_seat->x_cursor->bits->yhot); ++ wl_surface_attach(xwl_cursor->surface, ++ xwl_shm_pixmap_get_wl_buffer(pixmap), 0, 0); ++ wl_surface_damage(xwl_cursor->surface, 0, 0, ++ xwl_seat->x_cursor->bits->width, ++ xwl_seat->x_cursor->bits->height); ++ ++ xwl_cursor->frame_cb = wl_surface_frame(xwl_cursor->surface); ++ wl_callback_add_listener(xwl_cursor->frame_cb, &frame_listener, xwl_cursor); ++ ++ wl_surface_commit(xwl_cursor->surface); + } + + static void +@@ -179,6 +230,7 @@ xwl_set_cursor(DeviceIntPtr device, + ScreenPtr screen, CursorPtr cursor, int x, int y) + { + struct xwl_seat *xwl_seat; ++ struct xwl_tablet_tool *xwl_tablet_tool; + Bool cursor_visibility_changed; + + xwl_seat = device->public.devicePrivate; +@@ -193,6 +245,11 @@ xwl_set_cursor(DeviceIntPtr device, + xwl_seat_cursor_visibility_changed(xwl_seat); + + xwl_seat_set_cursor(xwl_seat); ++ ++ xorg_list_for_each_entry(xwl_tablet_tool, &xwl_seat->tablet_tools, link) { ++ if (xwl_tablet_tool->proximity_in_serial != 0) ++ xwl_tablet_tool_set_cursor(xwl_tablet_tool); ++ } + } + + static void +--- a/hw/xwayland/xwayland-input.c ++++ b/hw/xwayland/xwayland-input.c +@@ -34,6 +34,8 @@ + #include + #include + #include ++#include ++#include "tablet-unstable-v2-client-protocol.h" + + /* Copied from mipointer.c */ + #define MIPOINTER(dev) \ +@@ -62,6 +64,12 @@ static void + xwl_seat_destroy_confined_pointer(struct xwl_seat *xwl_seat); + + static void ++init_tablet_manager_seat(struct xwl_screen *xwl_screen, ++ struct xwl_seat *xwl_seat); ++static void ++release_tablet_manager_seat(struct xwl_seat *xwl_seat); ++ ++static void + xwl_pointer_control(DeviceIntPtr device, PtrCtrl *ctrl) + { + /* Nothing to do, dix handles all settings */ +@@ -287,6 +295,75 @@ xwl_touch_proc(DeviceIntPtr device, int + #undef NTOUCHPOINTS + } + ++static int ++xwl_tablet_proc(DeviceIntPtr device, int what) ++{ ++#define NBUTTONS 9 ++#define NAXES 6 ++ Atom btn_labels[NBUTTONS] = { 0 }; ++ Atom axes_labels[NAXES] = { 0 }; ++ BYTE map[NBUTTONS + 1] = { 0 }; ++ int i; ++ ++ switch (what) { ++ case DEVICE_INIT: ++ device->public.on = FALSE; ++ ++ for (i = 1; i <= NBUTTONS; i++) ++ map[i] = i; ++ ++ axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X); ++ axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y); ++ axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_PRESSURE); ++ axes_labels[3] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_X); ++ axes_labels[4] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_Y); ++ axes_labels[5] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_WHEEL); ++ ++ if (!InitValuatorClassDeviceStruct(device, NAXES, axes_labels, ++ GetMotionHistorySize(), Absolute)) ++ return BadValue; ++ ++ /* Valuators - match the xf86-input-wacom ranges */ ++ InitValuatorAxisStruct(device, 0, axes_labels[0], ++ 0, 262143, 10000, 0, 10000, Absolute); ++ InitValuatorAxisStruct(device, 1, axes_labels[1], ++ 0, 262143, 10000, 0, 10000, Absolute); ++ /* pressure */ ++ InitValuatorAxisStruct(device, 2, axes_labels[2], ++ 0, 65535, 1, 0, 1, Absolute); ++ /* tilt x */ ++ InitValuatorAxisStruct(device, 3, axes_labels[3], ++ -64, 63, 57, 0, 57, Absolute); ++ /* tilt y */ ++ InitValuatorAxisStruct(device, 4, axes_labels[4], ++ -64, 63, 57, 0, 57, Absolute); ++ /* abs wheel (airbrush) or rotation (artpen) */ ++ InitValuatorAxisStruct(device, 5, axes_labels[5], ++ -900, 899, 1, 0, 1, Absolute); ++ ++ if (!InitPtrFeedbackClassDeviceStruct(device, xwl_pointer_control)) ++ return BadValue; ++ ++ if (!InitButtonClassDeviceStruct(device, NBUTTONS, btn_labels, map)) ++ return BadValue; ++ ++ return Success; ++ ++ case DEVICE_ON: ++ device->public.on = TRUE; ++ return Success; ++ ++ case DEVICE_OFF: ++ case DEVICE_CLOSE: ++ device->public.on = FALSE; ++ return Success; ++ } ++ ++ return BadMatch; ++#undef NAXES ++#undef NBUTTONS ++} ++ + static void + pointer_handle_enter(void *data, struct wl_pointer *pointer, + uint32_t serial, struct wl_surface *surface, +@@ -347,9 +424,9 @@ pointer_handle_enter(void *data, struct + * of our surfaces might not have been shown. In that case we'll + * have a cursor surface frame callback pending which we need to + * clear so that we can continue submitting new cursor frames. */ +- if (xwl_seat->cursor_frame_cb) { +- wl_callback_destroy(xwl_seat->cursor_frame_cb); +- xwl_seat->cursor_frame_cb = NULL; ++ if (xwl_seat->cursor.frame_cb) { ++ wl_callback_destroy(xwl_seat->cursor.frame_cb); ++ xwl_seat->cursor.frame_cb = NULL; + xwl_seat_set_cursor(xwl_seat); + } + +@@ -1126,6 +1203,31 @@ static const struct wl_seat_listener sea + }; + + static void ++xwl_cursor_init(struct xwl_cursor *xwl_cursor, struct xwl_screen *xwl_screen, ++ void (* update_proc)(struct xwl_cursor *)) ++{ ++ xwl_cursor->surface = wl_compositor_create_surface(xwl_screen->compositor); ++ xwl_cursor->update_proc = update_proc; ++ xwl_cursor->frame_cb = NULL; ++ xwl_cursor->needs_update = FALSE; ++} ++ ++static void ++xwl_cursor_release(struct xwl_cursor *xwl_cursor) ++{ ++ wl_surface_destroy(xwl_cursor->surface); ++ if (xwl_cursor->frame_cb) ++ wl_callback_destroy(xwl_cursor->frame_cb); ++} ++ ++static void ++xwl_seat_update_cursor(struct xwl_cursor *xwl_cursor) ++{ ++ struct xwl_seat *xwl_seat = wl_container_of(xwl_cursor, xwl_seat, cursor); ++ xwl_seat_set_cursor(xwl_seat); ++} ++ ++static void + create_input_device(struct xwl_screen *xwl_screen, uint32_t id, uint32_t version) + { + struct xwl_seat *xwl_seat; +@@ -1144,8 +1246,12 @@ create_input_device(struct xwl_screen *x + &wl_seat_interface, min(version, 5)); + xwl_seat->id = id; + +- xwl_seat->cursor = wl_compositor_create_surface(xwl_screen->compositor); ++ xwl_cursor_init(&xwl_seat->cursor, xwl_seat->xwl_screen, ++ xwl_seat_update_cursor); + wl_seat_add_listener(xwl_seat->seat, &seat_listener, xwl_seat); ++ ++ init_tablet_manager_seat(xwl_screen, xwl_seat); ++ + wl_array_init(&xwl_seat->keys); + + xorg_list_init(&xwl_seat->touches); +@@ -1169,15 +1275,1028 @@ xwl_seat_destroy(struct xwl_seat *xwl_se + free (p); + } + ++ release_tablet_manager_seat(xwl_seat); ++ + wl_seat_destroy(xwl_seat->seat); +- wl_surface_destroy(xwl_seat->cursor); +- if (xwl_seat->cursor_frame_cb) +- wl_callback_destroy(xwl_seat->cursor_frame_cb); ++ xwl_cursor_release(&xwl_seat->cursor); + wl_array_release(&xwl_seat->keys); + free(xwl_seat); + } + + static void ++tablet_handle_name(void *data, struct zwp_tablet_v2 *tablet, const char *name) ++{ ++} ++ ++static void ++tablet_handle_id(void *data, struct zwp_tablet_v2 *tablet, uint32_t vid, ++ uint32_t pid) ++{ ++} ++ ++static void ++tablet_handle_path(void *data, struct zwp_tablet_v2 *tablet, const char *path) ++{ ++} ++ ++static void ++tablet_handle_done(void *data, struct zwp_tablet_v2 *tablet) ++{ ++ struct xwl_tablet *xwl_tablet = data; ++ struct xwl_seat *xwl_seat = xwl_tablet->seat; ++ ++ if (xwl_seat->stylus == NULL) { ++ xwl_seat->stylus = add_device(xwl_seat, "xwayland-stylus", xwl_tablet_proc); ++ ActivateDevice(xwl_seat->stylus, TRUE); ++ } ++ EnableDevice(xwl_seat->stylus, TRUE); ++ ++ if (xwl_seat->eraser == NULL) { ++ xwl_seat->eraser = add_device(xwl_seat, "xwayland-eraser", xwl_tablet_proc); ++ ActivateDevice(xwl_seat->eraser, TRUE); ++ } ++ EnableDevice(xwl_seat->eraser, TRUE); ++ ++ if (xwl_seat->puck == NULL) { ++ xwl_seat->puck = add_device(xwl_seat, "xwayland-cursor", xwl_tablet_proc); ++ ActivateDevice(xwl_seat->puck, TRUE); ++ } ++ EnableDevice(xwl_seat->puck, TRUE); ++} ++ ++static void ++tablet_handle_removed(void *data, struct zwp_tablet_v2 *tablet) ++{ ++ struct xwl_tablet *xwl_tablet = data; ++ struct xwl_seat *xwl_seat = xwl_tablet->seat; ++ ++ xorg_list_del(&xwl_tablet->link); ++ ++ /* The tablet is merely disabled, not removed. The next tablet ++ will re-use the same X devices */ ++ if (xorg_list_is_empty(&xwl_seat->tablets)) { ++ if (xwl_seat->stylus) ++ DisableDevice(xwl_seat->stylus, TRUE); ++ if (xwl_seat->eraser) ++ DisableDevice(xwl_seat->eraser, TRUE); ++ if (xwl_seat->puck) ++ DisableDevice(xwl_seat->puck, TRUE); ++ /* pads are removed separately */ ++ } ++ ++ zwp_tablet_v2_destroy(tablet); ++ free(xwl_tablet); ++} ++ ++static const struct zwp_tablet_v2_listener tablet_listener = { ++ tablet_handle_name, ++ tablet_handle_id, ++ tablet_handle_path, ++ tablet_handle_done, ++ tablet_handle_removed ++}; ++ ++static void ++tablet_tool_receive_type(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t type) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ switch (type) { ++ case ZWP_TABLET_TOOL_V2_TYPE_ERASER: ++ xwl_tablet_tool->xdevice = xwl_seat->eraser; ++ break; ++ case ZWP_TABLET_TOOL_V2_TYPE_MOUSE: ++ case ZWP_TABLET_TOOL_V2_TYPE_LENS: ++ xwl_tablet_tool->xdevice = xwl_seat->puck; ++ break; ++ default: ++ xwl_tablet_tool->xdevice = xwl_seat->stylus; ++ break; ++ } ++} ++ ++static void ++tablet_tool_receive_hardware_serial(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t hi, uint32_t low) ++{ ++} ++ ++static void ++tablet_tool_receive_hardware_id_wacom(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t hi, uint32_t low) ++{ ++} ++ ++static void ++tablet_tool_receive_capability(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t capability) ++{ ++} ++ ++static void ++tablet_tool_receive_done(void *data, struct zwp_tablet_tool_v2 *tool) ++{ ++} ++ ++static void ++tablet_tool_receive_removed(void *data, struct zwp_tablet_tool_v2 *tool) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ ++ xorg_list_del(&xwl_tablet_tool->link); ++ xwl_cursor_release(&xwl_tablet_tool->cursor); ++ zwp_tablet_tool_v2_destroy(tool); ++ free(xwl_tablet_tool); ++} ++ ++static void ++tablet_tool_proximity_in(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t serial, struct zwp_tablet_v2 *tablet, ++ struct wl_surface *wl_surface) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ /* There's a race here where if we create and then immediately ++ * destroy a surface, we might end up in a state where the Wayland ++ * compositor sends us an event for a surface that doesn't exist. ++ * ++ * Don't process enter events in this case. ++ * ++ * see pointer_handle_enter() ++ */ ++ if (wl_surface == NULL) ++ return; ++ ++ xwl_tablet_tool->proximity_in_serial = serial; ++ xwl_seat->focus_window = wl_surface_get_user_data(wl_surface); ++ ++ xwl_tablet_tool_set_cursor(xwl_tablet_tool); ++} ++ ++static void ++tablet_tool_proximity_out(void *data, struct zwp_tablet_tool_v2 *tool) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ xwl_tablet_tool->proximity_in_serial = 0; ++ xwl_seat->focus_window = NULL; ++ ++ xwl_tablet_tool->pressure = 0; ++ xwl_tablet_tool->tilt_x = 0; ++ xwl_tablet_tool->tilt_y = 0; ++ xwl_tablet_tool->rotation = 0; ++ xwl_tablet_tool->slider = 0; ++} ++ ++static void ++tablet_tool_down(void *data, struct zwp_tablet_tool_v2 *tool, uint32_t serial) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ValuatorMask mask; ++ ++ xwl_seat->xwl_screen->serial = serial; ++ ++ valuator_mask_zero(&mask); ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ButtonPress, 1, 0, &mask); ++} ++ ++static void ++tablet_tool_up(void *data, struct zwp_tablet_tool_v2 *tool) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ ValuatorMask mask; ++ ++ valuator_mask_zero(&mask); ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ButtonRelease, 1, 0, &mask); ++} ++ ++static void ++tablet_tool_motion(void *data, struct zwp_tablet_tool_v2 *tool, ++ wl_fixed_t x, wl_fixed_t y) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ int32_t dx, dy; ++ int sx = wl_fixed_to_int(x); ++ int sy = wl_fixed_to_int(y); ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ dx = xwl_seat->focus_window->window->drawable.x; ++ dy = xwl_seat->focus_window->window->drawable.y; ++ ++ xwl_tablet_tool->x = dx + sx; ++ xwl_tablet_tool->y = dy + sy; ++} ++ ++static void ++tablet_tool_pressure(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t pressure) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ /* normalized to 65535 already */ ++ xwl_tablet_tool->pressure = pressure; ++} ++ ++static void ++tablet_tool_distance(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t distance_raw) ++{ ++} ++ ++static void ++tablet_tool_tilt(void *data, struct zwp_tablet_tool_v2 *tool, ++ wl_fixed_t tilt_x, wl_fixed_t tilt_y) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ xwl_tablet_tool->tilt_x = wl_fixed_to_double(tilt_x); ++ xwl_tablet_tool->tilt_y = wl_fixed_to_double(tilt_y); ++} ++ ++static void ++tablet_tool_rotation(void *data, struct zwp_tablet_tool_v2 *tool, ++ wl_fixed_t angle) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ double rotation = wl_fixed_to_double(angle); ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ /* change origin (buttons facing right [libinput +90 degrees]) and ++ * scaling (5 points per degree) to match wacom driver behavior ++ */ ++ rotation = remainderf(rotation + 90.0f, 360.0f); ++ rotation *= 5.0f; ++ xwl_tablet_tool->rotation = rotation; ++} ++ ++static void ++tablet_tool_slider(void *data, struct zwp_tablet_tool_v2 *tool, ++ int32_t position_raw) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ float position = position_raw / 65535.0; ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ xwl_tablet_tool->slider = (position * 1799.0f) - 900.0f; ++} ++ ++static void ++tablet_tool_wheel(void *data, struct zwp_tablet_tool_v2 *tool, ++ wl_fixed_t degrees, int32_t clicks) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ ++ if (!xwl_seat->focus_window) ++ return; ++ ++ xwl_tablet_tool->wheel_clicks = clicks; ++} ++ ++static void ++tablet_tool_button_state(void *data, struct zwp_tablet_tool_v2 *tool, ++ uint32_t serial, uint32_t button, uint32_t state) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ struct xwl_seat *xwl_seat = xwl_tablet_tool->seat; ++ uint32_t *mask = &xwl_tablet_tool->buttons_now; ++ int xbtn = 0; ++ ++ /* BTN_0 .. BTN_9 */ ++ if (button >= 0x100 && button <= 0x109) { ++ xbtn = button - 0x100 + 1; ++ } ++ /* BTN_A .. BTN_Z */ ++ else if (button >= 0x130 && button <= 0x135) { ++ xbtn = button - 0x130 + 10; ++ } ++ /* BTN_BASE .. BTN_BASE6 */ ++ else if (button >= 0x126 && button <= 0x12b) { ++ xbtn = button - 0x126 + 16; ++ } ++ else { ++ switch (button) { ++ case 0x110: /* BTN_LEFT */ ++ case 0x14a: /* BTN_TOUCH */ ++ xbtn = 1; ++ break; ++ ++ case 0x112: /* BTN_MIDDLE */ ++ case 0x14b: /* BTN_STYLUS */ ++ xbtn = 2; ++ break; ++ ++ case 0x111: /* BTN_RIGHT */ ++ case 0x14c: /* BTN_STYLUS2 */ ++ xbtn = 3; ++ break; ++ ++ case 0x113: /* BTN_SIDE */ ++ case 0x116: /* BTN_BACK */ ++ xbtn = 8; ++ break; ++ ++ case 0x114: /* BTN_EXTRA */ ++ case 0x115: /* BTN_FORWARD */ ++ xbtn = 9; ++ break; ++ } ++ } ++ ++ if (!xbtn) { ++ ErrorF("unknown tablet button number %d\n", button); ++ return; ++ } ++ ++ BUG_RETURN(xbtn >= 8 * sizeof(*mask)); ++ ++ if (state) ++ SetBit(mask, xbtn - 1); ++ else ++ ClearBit(mask, xbtn - 1); ++ ++ xwl_seat->xwl_screen->serial = serial; ++} ++ ++static void ++tablet_tool_frame(void *data, struct zwp_tablet_tool_v2 *tool, uint32_t time) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = data; ++ ValuatorMask mask; ++ uint32_t released, pressed, diff; ++ int button; ++ ++ valuator_mask_zero(&mask); ++ valuator_mask_set(&mask, 0, xwl_tablet_tool->x); ++ valuator_mask_set(&mask, 1, xwl_tablet_tool->y); ++ valuator_mask_set(&mask, 2, xwl_tablet_tool->pressure); ++ valuator_mask_set(&mask, 3, xwl_tablet_tool->tilt_x); ++ valuator_mask_set(&mask, 4, xwl_tablet_tool->tilt_y); ++ valuator_mask_set(&mask, 5, xwl_tablet_tool->rotation + xwl_tablet_tool->slider); ++ ++ QueuePointerEvents(xwl_tablet_tool->xdevice, MotionNotify, 0, ++ POINTER_ABSOLUTE | POINTER_SCREEN, &mask); ++ ++ valuator_mask_zero(&mask); ++ ++ diff = xwl_tablet_tool->buttons_prev ^ xwl_tablet_tool->buttons_now; ++ released = diff & ~xwl_tablet_tool->buttons_now; ++ pressed = diff & xwl_tablet_tool->buttons_now; ++ ++ button = 1; ++ while (released) { ++ if (released & 0x1) ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ++ ButtonRelease, button, 0, &mask); ++ button++; ++ released >>= 1; ++ } ++ ++ button = 1; ++ while (pressed) { ++ if (pressed & 0x1) ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ++ ButtonPress, button, 0, &mask); ++ button++; ++ pressed >>= 1; ++ } ++ ++ xwl_tablet_tool->buttons_prev = xwl_tablet_tool->buttons_now; ++ ++ while (xwl_tablet_tool->wheel_clicks) { ++ if (xwl_tablet_tool->wheel_clicks < 0) { ++ button = 4; ++ xwl_tablet_tool->wheel_clicks++; ++ } ++ else { ++ button = 5; ++ xwl_tablet_tool->wheel_clicks--; ++ } ++ ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ++ ButtonPress, button, 0, &mask); ++ QueuePointerEvents(xwl_tablet_tool->xdevice, ++ ButtonRelease, button, 0, &mask); ++ ++ } ++} ++ ++static const struct zwp_tablet_tool_v2_listener tablet_tool_listener = { ++ tablet_tool_receive_type, ++ tablet_tool_receive_hardware_serial, ++ tablet_tool_receive_hardware_id_wacom, ++ tablet_tool_receive_capability, ++ tablet_tool_receive_done, ++ tablet_tool_receive_removed, ++ tablet_tool_proximity_in, ++ tablet_tool_proximity_out, ++ tablet_tool_down, ++ tablet_tool_up, ++ tablet_tool_motion, ++ tablet_tool_pressure, ++ tablet_tool_distance, ++ tablet_tool_tilt, ++ tablet_tool_rotation, ++ tablet_tool_slider, ++ tablet_tool_wheel, ++ tablet_tool_button_state, ++ tablet_tool_frame ++}; ++ ++static void ++tablet_pad_ring_destroy(struct xwl_tablet_pad_ring *ring) ++{ ++ zwp_tablet_pad_ring_v2_destroy(ring->ring); ++ xorg_list_del(&ring->link); ++ free(ring); ++} ++ ++static void ++tablet_pad_ring_source(void *data, ++ struct zwp_tablet_pad_ring_v2 *zwp_tablet_pad_ring_v2, ++ uint32_t source) ++{ ++} ++ ++static void ++tablet_pad_ring_angle(void *data, ++ struct zwp_tablet_pad_ring_v2 *zwp_tablet_pad_ring_v2, ++ wl_fixed_t degrees) ++{ ++ struct xwl_tablet_pad_ring *ring = data; ++ struct xwl_tablet_pad *pad = ring->group->pad; ++ double deg = wl_fixed_to_double(degrees); ++ ValuatorMask mask; ++ ++ valuator_mask_zero(&mask); ++ valuator_mask_set(&mask, 5 + ring->index, deg/360.0 * 71); ++ QueuePointerEvents(pad->xdevice, MotionNotify, 0, 0, &mask); ++} ++ ++static void ++tablet_pad_ring_stop(void *data, ++ struct zwp_tablet_pad_ring_v2 *zwp_tablet_pad_ring_v2) ++{ ++} ++ ++static void ++tablet_pad_ring_frame(void *data, ++ struct zwp_tablet_pad_ring_v2 *zwp_tablet_pad_ring_v2, ++ uint32_t time) ++{ ++} ++ ++static const struct zwp_tablet_pad_ring_v2_listener tablet_pad_ring_listener = { ++ tablet_pad_ring_source, ++ tablet_pad_ring_angle, ++ tablet_pad_ring_stop, ++ tablet_pad_ring_frame, ++}; ++ ++ ++static void ++tablet_pad_strip_destroy(struct xwl_tablet_pad_strip *strip) ++{ ++ zwp_tablet_pad_strip_v2_destroy(strip->strip); ++ xorg_list_del(&strip->link); ++ free(strip); ++} ++ ++static void ++tablet_pad_strip_source(void *data, ++ struct zwp_tablet_pad_strip_v2 *zwp_tablet_pad_strip_v2, ++ uint32_t source) ++{ ++} ++ ++static void ++tablet_pad_strip_position(void *data, ++ struct zwp_tablet_pad_strip_v2 *zwp_tablet_pad_strip_v2, ++ uint32_t position) ++{ ++ struct xwl_tablet_pad_strip *strip = data; ++ struct xwl_tablet_pad *pad = strip->group->pad; ++ ValuatorMask mask; ++ ++ valuator_mask_zero(&mask); ++ valuator_mask_set(&mask, 3 + strip->index, position/65535.0 * 2048); ++ QueuePointerEvents(pad->xdevice, MotionNotify, 0, 0, &mask); ++} ++ ++static void ++tablet_pad_strip_stop(void *data, ++ struct zwp_tablet_pad_strip_v2 *zwp_tablet_pad_strip_v2) ++{ ++} ++ ++static void ++tablet_pad_strip_frame(void *data, ++ struct zwp_tablet_pad_strip_v2 *zwp_tablet_pad_strip_v2, ++ uint32_t time) ++{ ++} ++ ++static const struct zwp_tablet_pad_strip_v2_listener tablet_pad_strip_listener = { ++ tablet_pad_strip_source, ++ tablet_pad_strip_position, ++ tablet_pad_strip_stop, ++ tablet_pad_strip_frame, ++}; ++ ++static void ++tablet_pad_group_destroy(struct xwl_tablet_pad_group *group) ++{ ++ struct xwl_tablet_pad_ring *r, *tr; ++ struct xwl_tablet_pad_strip *s, *ts; ++ ++ xorg_list_for_each_entry_safe(r, tr, ++ &group->pad_group_ring_list, ++ link) ++ tablet_pad_ring_destroy(r); ++ ++ xorg_list_for_each_entry_safe(s, ts, ++ &group->pad_group_strip_list, ++ link) ++ tablet_pad_strip_destroy(s); ++ ++ zwp_tablet_pad_group_v2_destroy(group->group); ++ xorg_list_del(&group->link); ++ free(group); ++} ++ ++static void ++tablet_pad_group_buttons(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2, ++ struct wl_array *buttons) ++{ ++ ++} ++ ++static void ++tablet_pad_group_ring(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2, ++ struct zwp_tablet_pad_ring_v2 *wp_ring) ++{ ++ static unsigned int ring_index = 0; ++ struct xwl_tablet_pad_group *group = data; ++ struct xwl_tablet_pad_ring *ring; ++ ++ ring = calloc(1, sizeof *ring); ++ if (ring == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ ring->index = ring_index++; ++ ring->group = group; ++ ring->ring = wp_ring; ++ ++ xorg_list_add(&ring->link, &group->pad_group_ring_list); ++ ++ zwp_tablet_pad_ring_v2_add_listener(wp_ring, &tablet_pad_ring_listener, ++ ring); ++} ++ ++static void ++tablet_pad_group_strip(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2, ++ struct zwp_tablet_pad_strip_v2 *wp_strip) ++{ ++ static unsigned int strip_index = 0; ++ struct xwl_tablet_pad_group *group = data; ++ struct xwl_tablet_pad_strip *strip; ++ ++ strip = calloc(1, sizeof *strip); ++ if (strip == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ strip->index = strip_index++; ++ strip->group = group; ++ strip->strip = wp_strip; ++ ++ xorg_list_add(&strip->link, &group->pad_group_strip_list); ++ ++ zwp_tablet_pad_strip_v2_add_listener(wp_strip, &tablet_pad_strip_listener, ++ strip); ++} ++ ++static void ++tablet_pad_group_modes(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2, ++ uint32_t modes) ++{ ++ ++} ++ ++static void ++tablet_pad_group_done(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2) ++{ ++ ++} ++ ++static void ++tablet_pad_group_mode_switch(void *data, ++ struct zwp_tablet_pad_group_v2 *zwp_tablet_pad_group_v2, ++ uint32_t time, ++ uint32_t serial, ++ uint32_t mode) ++{ ++ ++} ++ ++static struct zwp_tablet_pad_group_v2_listener tablet_pad_group_listener = { ++ tablet_pad_group_buttons, ++ tablet_pad_group_ring, ++ tablet_pad_group_strip, ++ tablet_pad_group_modes, ++ tablet_pad_group_done, ++ tablet_pad_group_mode_switch, ++}; ++ ++static int ++xwl_tablet_pad_proc(DeviceIntPtr device, int what) ++{ ++ struct xwl_tablet_pad *pad = device->public.devicePrivate; ++ /* Axis layout mirrors that of xf86-input-wacom to have better ++ compatibility with existing clients */ ++#define NAXES 7 ++ Atom axes_labels[NAXES] = { 0 }; ++ BYTE map[MAX_BUTTONS + 1]; ++ int i = 0; ++ Atom btn_labels[MAX_BUTTONS] = { 0 }; /* btn labels are meaningless */ ++ int nbuttons; ++ ++ switch (what) { ++ case DEVICE_INIT: ++ device->public.on = FALSE; ++ ++ axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X); ++ axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y); ++ /* The others have no good mapping */ ++ ++ if (!InitValuatorClassDeviceStruct(device, NAXES, axes_labels, ++ GetMotionHistorySize(), Absolute)) ++ return BadValue; ++ ++ for (i = 1; i <= MAX_BUTTONS; i++) ++ map[i] = i; ++ ++ /* We need at least 7 buttons to allow scrolling */ ++ nbuttons = min(max(pad->nbuttons + 4, 7), MAX_BUTTONS); ++ ++ if (!InitButtonClassDeviceStruct(device, nbuttons, ++ btn_labels, map)) ++ return BadValue; ++ ++ /* Valuators */ ++ InitValuatorAxisStruct(device, 0, axes_labels[0], ++ 0, 100, 1, 0, 1, Absolute); ++ InitValuatorAxisStruct(device, 1, axes_labels[1], ++ 0, 100, 1, 0, 1, Absolute); ++ /* Pressure - unused, for backwards compat only */ ++ InitValuatorAxisStruct(device, 2, axes_labels[2], ++ 0, 2048, 1, 0, 1, Absolute); ++ /* strip x */ ++ InitValuatorAxisStruct(device, 3, axes_labels[3], ++ 0, 2048, 1, 0, 1, Absolute); ++ /* strip y */ ++ InitValuatorAxisStruct(device, 4, axes_labels[4], ++ 0, 2048, 1, 0, 1, Absolute); ++ /* ring */ ++ InitValuatorAxisStruct(device, 5, axes_labels[5], ++ 0, 71, 1, 0, 1, Absolute); ++ /* ring2 */ ++ InitValuatorAxisStruct(device, 6, axes_labels[6], ++ 0, 71, 1, 0, 1, Absolute); ++ ++ if (!InitPtrFeedbackClassDeviceStruct(device, xwl_pointer_control)) ++ return BadValue; ++ ++ return Success; ++ ++ case DEVICE_ON: ++ device->public.on = TRUE; ++ return Success; ++ ++ case DEVICE_OFF: ++ case DEVICE_CLOSE: ++ device->public.on = FALSE; ++ return Success; ++ } ++ ++ return BadMatch; ++#undef NAXES ++} ++ ++static void ++tablet_pad_group(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ struct zwp_tablet_pad_group_v2 *pad_group) ++{ ++ struct xwl_tablet_pad *pad = data; ++ struct xwl_tablet_pad_group *group; ++ ++ group = calloc(1, sizeof *group); ++ if (pad == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ group->pad = pad; ++ group->group = pad_group; ++ xorg_list_init(&group->pad_group_ring_list); ++ xorg_list_init(&group->pad_group_strip_list); ++ ++ xorg_list_add(&group->link, &pad->pad_group_list); ++ ++ zwp_tablet_pad_group_v2_add_listener(pad_group, ++ &tablet_pad_group_listener, ++ group); ++} ++ ++static void ++tablet_pad_path(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ const char *path) ++{ ++ ++} ++ ++static void ++tablet_pad_buttons(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ uint32_t buttons) ++{ ++ struct xwl_tablet_pad *pad = data; ++ ++ pad->nbuttons = buttons; ++} ++ ++static void ++tablet_pad_done(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2) ++{ ++ struct xwl_tablet_pad *pad = data; ++ ++ pad->xdevice = add_device(pad->seat, "xwayland-pad", ++ xwl_tablet_pad_proc); ++ pad->xdevice->public.devicePrivate = pad; ++ ActivateDevice(pad->xdevice, TRUE); ++ EnableDevice(pad->xdevice, TRUE); ++} ++ ++static void ++tablet_pad_button(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ uint32_t time, ++ uint32_t button, ++ uint32_t state) ++{ ++ struct xwl_tablet_pad *pad = data; ++ ValuatorMask mask; ++ ++ button++; /* wayland index vs X's 1-offset */ ++ /* skip scroll wheel buttons 4-7 */ ++ button = button > 3 ? button + 4 : button; ++ ++ valuator_mask_zero(&mask); ++ QueuePointerEvents(pad->xdevice, ++ state ? ButtonPress : ButtonRelease, button, 0, &mask); ++} ++ ++static void ++tablet_pad_enter(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ uint32_t serial, ++ struct zwp_tablet_v2 *tablet, ++ struct wl_surface *surface) ++{ ++ /* pairs the pad with the tablet but also to set the focus. We ++ * don't care about the pairing and always use X's focus */ ++} ++ ++static void ++tablet_pad_leave(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2, ++ uint32_t serial, ++ struct wl_surface *surface) ++{ ++ /* pairs the pad with the tablet but also to set the focus. We ++ * don't care about the pairing and always use X's focus */ ++} ++ ++static void ++tablet_pad_removed(void *data, ++ struct zwp_tablet_pad_v2 *zwp_tablet_pad_v2) ++{ ++ struct xwl_tablet_pad *pad = data; ++ struct xwl_tablet_pad_group *g, *tg; ++ ++ xorg_list_for_each_entry_safe(g, tg, &pad->pad_group_list, link) ++ tablet_pad_group_destroy(g); ++ ++ RemoveDevice(pad->xdevice, TRUE); ++ xorg_list_del(&pad->link); ++ zwp_tablet_pad_v2_destroy(pad->pad); ++ free(pad); ++} ++ ++static const struct zwp_tablet_pad_v2_listener tablet_pad_listener = { ++ tablet_pad_group, ++ tablet_pad_path, ++ tablet_pad_buttons, ++ tablet_pad_done, ++ tablet_pad_button, ++ tablet_pad_enter, ++ tablet_pad_leave, ++ tablet_pad_removed, ++}; ++ ++static void ++tablet_seat_handle_add_tablet(void *data, struct zwp_tablet_seat_v2 *tablet_seat, ++ struct zwp_tablet_v2 *tablet) ++{ ++ struct xwl_seat *xwl_seat = data; ++ struct xwl_tablet *xwl_tablet; ++ ++ xwl_tablet = calloc(sizeof *xwl_tablet, 1); ++ if (xwl_tablet == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ xwl_tablet->tablet = tablet; ++ xwl_tablet->seat = xwl_seat; ++ ++ xorg_list_add(&xwl_tablet->link, &xwl_seat->tablets); ++ ++ zwp_tablet_v2_add_listener(tablet, &tablet_listener, xwl_tablet); ++} ++ ++static void ++xwl_tablet_tool_update_cursor(struct xwl_cursor *xwl_cursor) ++{ ++ struct xwl_tablet_tool *xwl_tablet_tool = wl_container_of(xwl_cursor, ++ xwl_tablet_tool, ++ cursor); ++ xwl_tablet_tool_set_cursor(xwl_tablet_tool); ++} ++ ++static void ++tablet_seat_handle_add_tool(void *data, struct zwp_tablet_seat_v2 *tablet_seat, ++ struct zwp_tablet_tool_v2 *tool) ++{ ++ struct xwl_seat *xwl_seat = data; ++ struct xwl_screen *xwl_screen = xwl_seat->xwl_screen; ++ struct xwl_tablet_tool *xwl_tablet_tool; ++ ++ xwl_tablet_tool = calloc(sizeof *xwl_tablet_tool, 1); ++ if (xwl_tablet_tool == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ xwl_tablet_tool->tool = tool; ++ xwl_tablet_tool->seat = xwl_seat; ++ xwl_cursor_init(&xwl_tablet_tool->cursor, xwl_screen, ++ xwl_tablet_tool_update_cursor); ++ ++ xorg_list_add(&xwl_tablet_tool->link, &xwl_seat->tablet_tools); ++ ++ zwp_tablet_tool_v2_add_listener(tool, &tablet_tool_listener, xwl_tablet_tool); ++} ++ ++static void ++tablet_seat_handle_add_pad(void *data, struct zwp_tablet_seat_v2 *tablet_seat, ++ struct zwp_tablet_pad_v2 *pad) ++{ ++ struct xwl_seat *xwl_seat = data; ++ struct xwl_tablet_pad *xwl_tablet_pad; ++ ++ xwl_tablet_pad = calloc(sizeof *xwl_tablet_pad, 1); ++ if (xwl_tablet_pad == NULL) { ++ ErrorF("%s ENOMEM\n", __func__); ++ return; ++ } ++ ++ xwl_tablet_pad->pad = pad; ++ xwl_tablet_pad->seat = xwl_seat; ++ xorg_list_init(&xwl_tablet_pad->pad_group_list); ++ ++ xorg_list_add(&xwl_tablet_pad->link, &xwl_seat->tablet_pads); ++ ++ zwp_tablet_pad_v2_add_listener(pad, &tablet_pad_listener, ++ xwl_tablet_pad); ++} ++ ++static const struct zwp_tablet_seat_v2_listener tablet_seat_listener = { ++ tablet_seat_handle_add_tablet, ++ tablet_seat_handle_add_tool, ++ tablet_seat_handle_add_pad ++}; ++ ++static void ++init_tablet_manager_seat(struct xwl_screen *xwl_screen, ++ struct xwl_seat *xwl_seat) ++{ ++ xorg_list_init(&xwl_seat->tablets); ++ xorg_list_init(&xwl_seat->tablet_tools); ++ xorg_list_init(&xwl_seat->tablet_pads); ++ ++ if (!xwl_screen->tablet_manager) ++ return; ++ ++ xwl_seat->tablet_seat = ++ zwp_tablet_manager_v2_get_tablet_seat(xwl_screen->tablet_manager, ++ xwl_seat->seat); ++ ++ zwp_tablet_seat_v2_add_listener(xwl_seat->tablet_seat, &tablet_seat_listener, xwl_seat); ++} ++ ++static void ++release_tablet_manager_seat(struct xwl_seat *xwl_seat) ++{ ++ struct xwl_tablet *xwl_tablet, *next_xwl_tablet; ++ struct xwl_tablet_tool *xwl_tablet_tool, *next_xwl_tablet_tool; ++ struct xwl_tablet_pad *xwl_tablet_pad, *next_xwl_tablet_pad; ++ ++ xorg_list_for_each_entry_safe(xwl_tablet_pad, next_xwl_tablet_pad, ++ &xwl_seat->tablet_pads, link) { ++ xorg_list_del(&xwl_tablet_pad->link); ++ zwp_tablet_pad_v2_destroy(xwl_tablet_pad->pad); ++ free(xwl_tablet_pad); ++ } ++ ++ xorg_list_for_each_entry_safe(xwl_tablet_tool, next_xwl_tablet_tool, ++ &xwl_seat->tablet_tools, link) { ++ xorg_list_del(&xwl_tablet_tool->link); ++ zwp_tablet_tool_v2_destroy(xwl_tablet_tool->tool); ++ free(xwl_tablet_tool); ++ } ++ ++ xorg_list_for_each_entry_safe(xwl_tablet, next_xwl_tablet, ++ &xwl_seat->tablets, link) { ++ xorg_list_del(&xwl_tablet->link); ++ zwp_tablet_v2_destroy(xwl_tablet->tablet); ++ free(xwl_tablet); ++ } ++ ++ if (xwl_seat->tablet_seat) { ++ zwp_tablet_seat_v2_destroy(xwl_seat->tablet_seat); ++ xwl_seat->tablet_seat = NULL; ++ } ++} ++ ++static void ++init_tablet_manager(struct xwl_screen *xwl_screen, uint32_t id, uint32_t version) ++{ ++ struct xwl_seat *xwl_seat; ++ ++ xwl_screen->tablet_manager = wl_registry_bind(xwl_screen->registry, ++ id, ++ &zwp_tablet_manager_v2_interface, ++ min(version,1)); ++ ++ xorg_list_for_each_entry(xwl_seat, &xwl_screen->seat_list, link) { ++ init_tablet_manager_seat(xwl_screen, xwl_seat); ++ } ++} ++ ++void ++xwl_screen_release_tablet_manager(struct xwl_screen *xwl_screen) ++{ ++ if (xwl_screen->tablet_manager) { ++ zwp_tablet_manager_v2_destroy(xwl_screen->tablet_manager); ++ xwl_screen->tablet_manager = NULL; ++ } ++} ++ ++static void + init_relative_pointer_manager(struct xwl_screen *xwl_screen, + uint32_t id, uint32_t version) + { +@@ -1210,6 +2329,8 @@ input_handler(void *data, struct wl_regi + init_relative_pointer_manager(xwl_screen, id, version); + } else if (strcmp(interface, "zwp_pointer_constraints_v1") == 0) { + init_pointer_constraints(xwl_screen, id, version); ++ } else if (strcmp(interface, "zwp_tablet_manager_v2") == 0) { ++ init_tablet_manager(xwl_screen, id, version); + } + } + +--- a/hw/xwayland/xwayland.c ++++ b/hw/xwayland/xwayland.c +@@ -130,6 +130,8 @@ xwl_close_screen(ScreenPtr screen) + &xwl_screen->seat_list, link) + xwl_seat_destroy(xwl_seat); + ++ xwl_screen_release_tablet_manager(xwl_screen); ++ + RemoveNotifyFd(xwl_screen->wayland_fd); + + wl_display_disconnect(xwl_screen->display); +--- a/hw/xwayland/xwayland.h ++++ b/hw/xwayland/xwayland.h +@@ -44,6 +44,7 @@ + + #include "relative-pointer-unstable-v1-client-protocol.h" + #include "pointer-constraints-unstable-v1-client-protocol.h" ++#include "tablet-unstable-v2-client-protocol.h" + + struct xwl_screen { + int width; +@@ -76,6 +77,7 @@ struct xwl_screen { + struct wl_registry *registry; + struct wl_registry *input_registry; + struct wl_compositor *compositor; ++ struct zwp_tablet_manager_v2 *tablet_manager; + struct wl_shm *shm; + struct wl_shell *shell; + struct zwp_relative_pointer_manager_v1 *relative_pointer_manager; +@@ -126,26 +128,35 @@ struct xwl_pointer_warp_emulator { + struct zwp_locked_pointer_v1 *locked_pointer; + }; + ++struct xwl_cursor { ++ void (* update_proc) (struct xwl_cursor *); ++ struct wl_surface *surface; ++ struct wl_callback *frame_cb; ++ Bool needs_update; ++}; ++ + struct xwl_seat { + DeviceIntPtr pointer; + DeviceIntPtr relative_pointer; + DeviceIntPtr keyboard; + DeviceIntPtr touch; ++ DeviceIntPtr stylus; ++ DeviceIntPtr eraser; ++ DeviceIntPtr puck; + struct xwl_screen *xwl_screen; + struct wl_seat *seat; + struct wl_pointer *wl_pointer; + struct zwp_relative_pointer_v1 *wp_relative_pointer; + struct wl_keyboard *wl_keyboard; + struct wl_touch *wl_touch; ++ struct zwp_tablet_seat_v2 *tablet_seat; + struct wl_array keys; + struct xwl_window *focus_window; + uint32_t id; + uint32_t pointer_enter_serial; + struct xorg_list link; + CursorPtr x_cursor; +- struct wl_surface *cursor; +- struct wl_callback *cursor_frame_cb; +- Bool cursor_needs_update; ++ struct xwl_cursor cursor; + WindowPtr last_xwindow; + + struct xorg_list touches; +@@ -172,6 +183,73 @@ struct xwl_seat { + double dx_unaccel; + double dy_unaccel; + } pending_pointer_event; ++ ++ struct xorg_list tablets; ++ struct xorg_list tablet_tools; ++ struct xorg_list tablet_pads; ++}; ++ ++struct xwl_tablet { ++ struct xorg_list link; ++ struct zwp_tablet_v2 *tablet; ++ struct xwl_seat *seat; ++}; ++ ++struct xwl_tablet_tool { ++ struct xorg_list link; ++ struct zwp_tablet_tool_v2 *tool; ++ struct xwl_seat *seat; ++ ++ DeviceIntPtr xdevice; ++ uint32_t proximity_in_serial; ++ uint32_t x; ++ uint32_t y; ++ uint32_t pressure; ++ float tilt_x; ++ float tilt_y; ++ float rotation; ++ float slider; ++ ++ uint32_t buttons_now, ++ buttons_prev; ++ ++ int32_t wheel_clicks; ++ ++ struct xwl_cursor cursor; ++}; ++ ++struct xwl_tablet_pad_ring { ++ unsigned int index; ++ struct xorg_list link; ++ struct xwl_tablet_pad_group *group; ++ struct zwp_tablet_pad_ring_v2 *ring; ++}; ++ ++struct xwl_tablet_pad_strip { ++ unsigned int index; ++ struct xorg_list link; ++ struct xwl_tablet_pad_group *group; ++ struct zwp_tablet_pad_strip_v2 *strip; ++}; ++ ++struct xwl_tablet_pad_group { ++ struct xorg_list link; ++ struct xwl_tablet_pad *pad; ++ struct zwp_tablet_pad_group_v2 *group; ++ ++ struct xorg_list pad_group_ring_list; ++ struct xorg_list pad_group_strip_list; ++}; ++ ++struct xwl_tablet_pad { ++ struct xorg_list link; ++ struct zwp_tablet_pad_v2 *pad; ++ struct xwl_seat *seat; ++ ++ DeviceIntPtr xdevice; ++ ++ unsigned int nbuttons; ++ struct xorg_list pad_group_list; + }; + + struct xwl_output { +@@ -193,6 +271,7 @@ Bool xwl_screen_init_cursor(struct xwl_s + + struct xwl_screen *xwl_screen_get(ScreenPtr screen); + ++void xwl_tablet_tool_set_cursor(struct xwl_tablet_tool *tool); + void xwl_seat_set_cursor(struct xwl_seat *xwl_seat); + + void xwl_seat_destroy(struct xwl_seat *xwl_seat); +@@ -241,6 +320,8 @@ Bool xwl_screen_init_glamor(struct xwl_s + uint32_t id, uint32_t version); + struct wl_buffer *xwl_glamor_pixmap_get_wl_buffer(PixmapPtr pixmap); + ++void xwl_screen_release_tablet_manager(struct xwl_screen *xwl_screen); ++ + #ifdef XV + /* glamor Xv Adaptor */ + Bool xwl_glamor_xv_init(ScreenPtr pScreen); diff -Nru xorg-server-hwe-16.04-1.19.3/debian/rules xorg-server-hwe-16.04-1.19.5/debian/rules --- xorg-server-hwe-16.04-1.19.3/debian/rules 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/rules 2018-01-03 11:08:46.000000000 +0000 @@ -1,5 +1,7 @@ #!/usr/bin/make -f +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) + ifeq ($(DEB_HOST_ARCH_OS), linux) selinux = --enable-xselinux wayland = --enable-xwayland @@ -314,7 +316,3 @@ install -d debian/xserver-xorg-core-udeb-hwe-16.04/lib/udev/rules.d install -m 644 debian/local/64-xorg-xkb.rules debian/xserver-xorg-core-udeb-hwe-16.04/lib/udev/rules.d endif - -override_dh_strip: - dh_strip -pxserver-xorg-core-hwe-16.04 --dbgsym-migration="xserver-xorg-core-hwe-16.04-dbg (<< 2:1.19.0-3~)" - dh_strip -s -Nxserver-xorg-core-hwe-16.04 -Nxserver-xorg-core-hwe-16.04-dbg diff -Nru xorg-server-hwe-16.04-1.19.3/debian/upstream/signing-key.asc xorg-server-hwe-16.04-1.19.5/debian/upstream/signing-key.asc --- xorg-server-hwe-16.04-1.19.3/debian/upstream/signing-key.asc 2018-01-03 11:08:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/debian/upstream/signing-key.asc 2018-01-03 11:08:46.000000000 +0000 @@ -280,43 +280,44 @@ =+xMJ -----END PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 +Version: GnuPG v2 -mQGiBEDLnMIRBACNlsJkPRfH7RMOn7nirvYN5StKVvwdJa2MFUM3sjoaA11nW+Zw -Yxion4GkbIOtz25R29TcwuAaK1UWhy1Rz6aIOOMOzBeUNGGCvRXF76rKHBHOdSJw -AXEvNa/9rKOIaPL7PBN7Lb4CmrjEbA9gKYtZQD9qQSKcAwyyxszkW1e7TwCg7MbV -Bq5MWlATjOAzXLoSpgyENwMD/jPz53KmwUobbqri2pFhozacl5N93cy7b3pwpTZY -fM50cXVSSshYpqdCr5AoWG/DXNGRixv1DnBKOI2Cv6YAQLntcATHxR8ssemOZHRv -7D0hvWwC3o6GSKdg0rSOtRHfDhEL4IFVmPLZaXIRDZ0/ancrCuQPdZ9mzCi/LQmV -noTeA/kB73zJMYH7Z0TSKv490AMWQHbKVvos8+tXxATlq0Otib+s55LXQocSPjgp -GR5qKzqTn9elg2dyo4GYeAYvGBmhQtBdeYo1rVq2pC6HCzMG79zozL9O25SnDLpj -WoqJB6qHBAd9tlTHzkRxv1Fqr4jfIupNborXbhR25tiYOm72irQcQWRhbSBKYWNr -c29uIDxhamF4QG53bmsubmV0PohhBBMRAgAhAhsDBgsJCAcDAgMVAgMDFgIBAh4B -AheABQJEZNYGAhkBAAoJEFuKLVCg7NDTlj8AoL9RgTs++HaD5w5lYARcE+OB+0Jg -AKDZBhJhVgOsEjeg7atMglFR7s36mrQeQWRhbSBKYWNrc29uIDxhamF4QHJlZGhh -dC5jb20+iGAEExECACAFAkfENSICGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK -CRBbii1QoOzQ0x6CAJ0fevUkaaBcTzKa0lTgfNFQ0E+JwgCfaWy44eNKttn4WWEZ -CTGF+e+zraS0IEFkYW0gSmFja3NvbiA8YWpheEBlbmdyLnNnaS5jb20+iF4EExEC -AB4FAkHB1gECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQW4otUKDs0NNTOgCg -lu1MOCbysvn68WReXz+v02+y2VkAoL12gktA0TFZnPBk3cweEAwCkUlXtCZBZGFt -IEphY2tzb24gPGFqYXhAd2lsZG9wZW5zb3VyY2UuY29tPoheBBMRAgAeBQJBriSn -AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEFuKLVCg7NDTOe4AnRUJ6FqQLaoY -XWCToQdl/Gry4UNZAJ97YYHMt1FIo1TLCWWozSiG+VtTq7QnQWRhbSBKYWNrc29u -IDxhamF4QGJlbnplZHJpbmUubnduay5uZXQ+iF4EExECAB4FAkRk1eACGwMGCwkI -BwMCAxUCAwMWAgECHgECF4AACgkQW4otUKDs0NN+fwCg2cPLDbAb07gMWBETKTRm -sj34FsAAn0SQ4kuqs9Ms0ZRKDqNQ1YTMwyEHuQINBEDLnNAQCACrbu13VZsigsM6 -8MzfdGQ4x/acO4Vd+Dg/aFj3EhPfXZHRauuJ7gQtWc9Mk2ghTjbqEXj0JILbif95 -IyShdC/fxEYiFybRODR6FHlXj6BFCxZFfqi4mOuaGQ4BeB57g/gW+FSoIPzYU4IY -85KD62qeS37zQEBAAK+mCEboUGfPT0wHrkFtkTObjOg7UTjpBp5/HknUREYo8mLo -WBv7CDlApicmXoqnKfAcFaNY2YLMjklwFHh2i2+6dPbkdWSEpuZhkxIQ/8JlYS6A -2g5DMKcNdmqr4Z6xjk8Fj1SO7ILc9EtR+ACqkqkmlU3m4AUHjdR/4kk7tEJ5DytP -c95JcuJnAAMFB/9KWUqJbdeHs47LJBksZ6tnHArcSG653e9uejtNt5xquJIz2wxb -exMV9Bkzwu9v/A8Vo7px7Bkhh++sBrgpGD4z5Jr+PaWOsw5qrO9OVVgzXkUf2QoD -gw4Hh8m9jpx1s6tNasPsy12OGMJ4a5a1GCGg8F7sPlWLBd491viavDyOWYkKozLH -hXwKlGOec0sCRGeHTiqPinxs29PXaTE7Dl/f2dYgiNzTSWetSx7Sv1H9EX4qxPgc -smdRuGV7k7dIw/J02rcI/Ol4OUORRMY2cgJnb5mNxIxTgTGJysm+MjfPrZnOeDVK -TroAYtas/uirqiNzk7fdIdUdgbOhsAl9n3QZiEYEGBECAAYFAkDLnNAACgkQW4ot -UKDs0NP3CACfS1DKwgN/rB7Ib+RJiuK0F/BQoEYAoOhr0VXCT5dP0Yr1kIad7njC -GBF1 -=bYOv +mQGNBFnVVFMBDACz5+V0s2/JjDuvutBbI4hAO3Zgb8mlny5nM/YgkCCVe79MsOAe +5Kn4Gj+lc8LiwJ4fyYPAWx1FIliryYE4RgpnKhipQhZB/UcvImTHQA4tqIavReyo +H4o5+CbPgRY7XNE2wRWOogWd3WuSeuq/37mu1gORmq3KogzuarjJvffLNL4saA+w +J37BXWhQ3P+eRiyF0qHaozf+bMenqtWEy0n0IQEg5wUS/zGXVlOX3fNhJeskq93a +US0bu3axZL4sxOMKxnhRK0XDziFaiMu/DTj4Y0SWDXgK0owkcc7Ow2eAX52Z+zvw +m9O3nBaQvQV7cUxNwYBmc2WkVts9XBrGT7tZ3HmFAkzB6YyPfdXYT4TpyFLofLVs +JDvpa8iXkOmy22JUuqJlW36Idpmv/2jNkEfiIbby3wwZtONJOD9xNxCmOiVGA59+ +q+Lgs0aCWzomNx07zMOEeVvLOj9ficZhTqfvhZrkPD4iEOKKIpRRjCyDyMa0HTb7 +XAkDYk/NcZe4kQsAEQEAAbQcQWRhbSBKYWNrc29uIDxhamF4QG53bmsubmV0PokB +zgQTAQgAOBYhBJle1cimE46wlh8YR0wJ3YPKqlCyBQJZ1VRTAhsDBQsJCAcCBhUI +CQoLAgQWAgMBAh4BAheAAAoJEEwJ3YPKqlCy6A4L/Ru8dHFdsNKvKtBH9szNgd5d +qcjEVWzw6YZKRTVpqw30O9uTcfuHzjV5ATIVTPEdXLklQficyCb4mGQLwxL2q5kT +YMrGteTwBt4pYExo/DYIEZom3f9+75+OgN1PleXQ9pTYo+Ndw18GsnD/sW04HX2I +IGKY3qUX3qhlxG6zdXsHTTIoCCBXrWepaD/IdA9Nw37tiyaTq2NH/ChcxFN7SuYr +SWpBkPRhcsxKDju7j+s4KzO9f1QYFB2Vi3TbbYLEJ3BJg6AxVoiVe4B9xfl6KfCa +EUjFWMqUprWiOjxNAdRUnfBN3UF2O/BxAtgZMk3RwVGG7fAEkfACkws8G5lcraTu +kHQJBfzdlbbwrQG4020kRRdNihblPHZAWI5PJG5jpdGcqftyD+lRvv4gljHpAg/I +eMK4rHjGANX3uQvcCelNwKf8TPVIDTB5vYvWmnHtRmEQkIeHhrMRzjhZej+uzNDF +FpKPZayGn2uyPLv77aZCQmEs1O1EafWz1+IfBWDUmLkBjQRZ1VRTAQwA5E5W/FDK +wfm+owkPenG0VYoXRfLlrBDvHcewLt04evdygHZZxNdV9Ycpsve9INdEg4nTJHj4 +mf302faUGECtiMKek78mfymzbAXS0kEXc2NoaXtEgFlPhavM4e8PpJ5aAKEsSHnQ +1HMS2KJ4bPbDNSLpWkT4HBDAzsJHOFNDu0Z6TsyG/bA1VLoj0iMC9jL8xWz1lOBN +iAhukMkjHOvmeq4BA2ktH5CUh8qwn8iEyw4sps5RcFKanIeru3sg8SVed4w0oCId +Tw54mSNE3vzGiK9tDk0yhDRq2oFT7ER4r0Cr3ctyAsDPJCwhgVJ2YWAGdHewdfg6 +l1hfsvmO1omjR1SQBSEbw6Ftl6GySd91rsvT9i5+3LiNIpYgYb2L6wNn7cSXc9NF +RXDWtw07P1mRJiRrBHwX1Brro7h9tvFT751F5yWSDdah5dUaqbl0C3cmXMoM+FLv +E0dECfuM/mwOvtvlYzL1htdTSLZRb25dddZ6nTlH3sLkVpd9oZRSd7kdABEBAAGJ +AbYEGAEIACAWIQSZXtXIphOOsJYfGEdMCd2DyqpQsgUCWdVUUwIbDAAKCRBMCd2D +yqpQsjd+C/sHZFFz3zSLBo1sUIHCGl6P2DYHatEoQTP7R8g1kAHd145pAGrvXzR4 +F6T5SgM8t4a04Ia2SJLaptNXpf1pJXKlEpEaCb/oDhB/eCt8sOilcqSojkEmpe7z +1xZY/ePNSzbsXDWTOagTM70UdaxgDand1dxMs2q8+Q3y3xZltXcYDmM48a/mRwe7 +rtPK68v3A54ZbcXojNcIMS1JBk+XcuBbmeI0yfGkcqbO2hiP8W81n1mb96jfZ/wj +QhNzLqI3zxRnFHPiBMLy9tF0odNCRccQ2mbKdV2cfOIF5WKC4lrcyqz3eit2RYdS +W3PPUqS3x2696I40zI2KoFjRn7YcWJ6T+skZPWW5bHCVcUN57v7270IG2MCA6D6a +Rto7m6yUbLNgGadDyIjTQladTN1aKYK/QAsxS4y+EhkAPeaQRvZxBhZEocjIAE0B +D2qzco+dq7IuQHIhXTnGRGEsS0bQdEnpQAoTQMVRo7loR2/XqzCIjkG40JH7Cr/r +gPSRdLLYOLo= +=+H4u -----END PGP PUBLIC KEY BLOCK----- diff -Nru xorg-server-hwe-16.04-1.19.3/depcomp xorg-server-hwe-16.04-1.19.5/depcomp --- xorg-server-hwe-16.04-1.19.3/depcomp 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/depcomp 2017-10-12 17:25:20.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru xorg-server-hwe-16.04-1.19.3/dix/dispatch.c xorg-server-hwe-16.04-1.19.5/dix/dispatch.c --- xorg-server-hwe-16.04-1.19.3/dix/dispatch.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dix/dispatch.c 2017-10-12 17:24:59.000000000 +0000 @@ -3415,7 +3415,6 @@ if (grabState != GrabNone && grabClient == client) { UngrabServer(client); } - mark_client_not_ready(client); BITCLEAR(grabWaiters, client->index); DeleteClientFromAnySelections(client); ReleaseActiveGrabs(client); @@ -3444,8 +3443,9 @@ if (ClientIsAsleep(client)) ClientSignal(client); ProcessWorkQueueZombies(); - output_pending_clear(client); CloseDownConnection(client); + output_pending_clear(client); + mark_client_not_ready(client); /* If the client made it to the Running stage, nClients has * been incremented on its behalf, so we need to decrement it @@ -3703,7 +3703,12 @@ prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq); auth_proto = (char *) prefix + sz_xConnClientPrefix; auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto); - if ((prefix->majorVersion != X_PROTOCOL) || + + if ((client->req_len << 2) != sz_xReq + sz_xConnClientPrefix + + pad_to_int32(prefix->nbytesAuthProto) + + pad_to_int32(prefix->nbytesAuthString)) + reason = "Bad length"; + else if ((prefix->majorVersion != X_PROTOCOL) || (prefix->minorVersion != X_PROTOCOL_REVISION)) reason = "Protocol version mismatch"; else diff -Nru xorg-server-hwe-16.04-1.19.3/dix/events.c xorg-server-hwe-16.04-1.19.5/dix/events.c --- xorg-server-hwe-16.04-1.19.3/dix/events.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dix/events.c 2017-10-12 17:24:59.000000000 +0000 @@ -5366,6 +5366,12 @@ client->errorValue = stuff->event.u.u.type; return BadValue; } + /* Generic events can have variable size, but SendEvent request holds + exactly 32B of event data. */ + if (stuff->event.u.u.type == GenericEvent) { + client->errorValue = stuff->event.u.u.type; + return BadValue; + } if (stuff->event.u.u.type == ClientMessage && stuff->event.u.u.detail != 8 && stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) { diff -Nru xorg-server-hwe-16.04-1.19.3/dix/Makefile.in xorg-server-hwe-16.04-1.19.5/dix/Makefile.in --- xorg-server-hwe-16.04-1.19.3/dix/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dix/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/dix/swapreq.c xorg-server-hwe-16.04-1.19.5/dix/swapreq.c --- xorg-server-hwe-16.04-1.19.3/dix/swapreq.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dix/swapreq.c 2017-10-12 17:24:59.000000000 +0000 @@ -292,6 +292,13 @@ swapl(&stuff->destination); swapl(&stuff->eventMask); + /* Generic events can have variable size, but SendEvent request holds + exactly 32B of event data. */ + if (stuff->event.u.u.type == GenericEvent) { + client->errorValue = stuff->event.u.u.type; + return BadValue; + } + /* Swap event */ proc = EventSwapVector[stuff->event.u.u.type & 0177]; if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */ diff -Nru xorg-server-hwe-16.04-1.19.3/doc/dtrace/Makefile.in xorg-server-hwe-16.04-1.19.5/doc/dtrace/Makefile.in --- xorg-server-hwe-16.04-1.19.3/doc/dtrace/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/doc/dtrace/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/doc/Makefile.in xorg-server-hwe-16.04-1.19.5/doc/Makefile.in --- xorg-server-hwe-16.04-1.19.3/doc/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/doc/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/dri3/Makefile.in xorg-server-hwe-16.04-1.19.5/dri3/Makefile.in --- xorg-server-hwe-16.04-1.19.3/dri3/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/dri3/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/exa/Makefile.in xorg-server-hwe-16.04-1.19.5/exa/Makefile.in --- xorg-server-hwe-16.04-1.19.3/exa/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/exa/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/fb/Makefile.in xorg-server-hwe-16.04-1.19.5/fb/Makefile.in --- xorg-server-hwe-16.04-1.19.3/fb/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/fb/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor.c xorg-server-hwe-16.04-1.19.5/glamor/glamor.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor.c 2017-10-12 17:24:59.000000000 +0000 @@ -133,6 +133,9 @@ { glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); + if (!pixmap_priv) + return 0; + if (pixmap_priv->type != GLAMOR_TEXTURE_ONLY) return 0; diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_copy.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_copy.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_copy.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_copy.c 2017-10-12 17:24:59.000000000 +0000 @@ -230,8 +230,8 @@ goto bail; } - src_pix->drawable.x = -dst->x; - src_pix->drawable.y = -dst->y; + src_pix->drawable.x = dst_xoff; + src_pix->drawable.y = dst_yoff; fbGetDrawable(&src_pix->drawable, src_bits, src_stride, src_bpp, src_xoff, src_yoff); @@ -344,6 +344,7 @@ glamor_program *prog; const glamor_facet *copy_facet; int n; + Bool ret = FALSE; glamor_make_current(glamor_priv); @@ -410,9 +411,10 @@ goto bail_ctx; glamor_pixmap_loop(dst_priv, dst_box_index) { - glamor_set_destination_drawable(dst, dst_box_index, FALSE, FALSE, - prog->matrix_uniform, - &dst_off_x, &dst_off_y); + if (!glamor_set_destination_drawable(dst, dst_box_index, FALSE, FALSE, + prog->matrix_uniform, + &dst_off_x, &dst_off_y)) + goto bail_ctx; glScissor(dst_off_x - args.dx, dst_off_y - args.dy, @@ -422,13 +424,14 @@ glamor_glDrawArrays_GL_QUADS(glamor_priv, nbox); } } - glDisable(GL_SCISSOR_TEST); - glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; + ret = TRUE; bail_ctx: - return FALSE; + glDisable(GL_SCISSOR_TEST); + glDisableVertexAttribArray(GLAMOR_VERTEX_POS); + + return ret; } /** diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_dash.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_dash.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_dash.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_dash.c 2017-10-12 17:24:59.000000000 +0000 @@ -147,7 +147,7 @@ goto bail; dash_pixmap = glamor_get_dash_pixmap(gc); - dash_priv = glamor_get_pixmap_private(pixmap); + dash_priv = glamor_get_pixmap_private(dash_pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(dash_priv)) goto bail; diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_fbo.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_fbo.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_fbo.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_fbo.c 2017-10-12 17:24:59.000000000 +0000 @@ -156,6 +156,10 @@ int w, int h, GLenum format, int flag) { GLint tex = _glamor_create_tex(glamor_priv, w, h, format); + + if (!tex) /* Texture creation failed due to GL_OUT_OF_MEMORY */ + return NULL; + return glamor_create_fbo_from_tex(glamor_priv, w, h, format, tex, flag); } diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_glyphblt.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_glyphblt.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_glyphblt.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_glyphblt.c 2017-10-12 17:24:59.000000000 +0000 @@ -49,6 +49,7 @@ glamor_program *prog; RegionPtr clip = gc->pCompositeClip; int box_index; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -75,8 +76,9 @@ int off_x, off_y; char *vbo_offset; - glamor_set_destination_drawable(drawable, box_index, FALSE, TRUE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, FALSE, TRUE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; max_points = 500; num_points = 0; @@ -138,11 +140,12 @@ } } - glDisableVertexAttribArray(GLAMOR_VERTEX_POS); + ret = TRUE; - return TRUE; bail: - return FALSE; + glDisableVertexAttribArray(GLAMOR_VERTEX_POS); + + return ret; } void @@ -174,6 +177,7 @@ int num_points; INT16 *points = NULL; char *vbo_offset; + Bool ret = FALSE; if (w * h > MAXINT / (2 * sizeof(float))) goto bail; @@ -221,17 +225,19 @@ glamor_put_vbo_space(screen); glamor_pixmap_loop(pixmap_priv, box_index) { - glamor_set_destination_drawable(drawable, box_index, FALSE, TRUE, - prog->matrix_uniform, NULL, NULL); + if (!glamor_set_destination_drawable(drawable, box_index, FALSE, TRUE, + prog->matrix_uniform, NULL, NULL)) + goto bail; glDrawArrays(GL_POINTS, 0, num_points); } - glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; + ret = TRUE; bail: - return FALSE; + glDisableVertexAttribArray(GLAMOR_VERTEX_POS); + + return ret; } void diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_largepixmap.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_largepixmap.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_largepixmap.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_largepixmap.c 2017-10-12 17:24:59.000000000 +0000 @@ -1,4 +1,5 @@ #include +#include /* For INT16_MAX */ #include "glamor_priv.h" @@ -722,11 +723,11 @@ temp_box.x2 = MIN(temp_box.x2, pixmap->drawable.width); temp_box.y2 = MIN(temp_box.y2, pixmap->drawable.height); } - /* Now copy back the box32 to a box16 box. */ - short_box.x1 = temp_box.x1; - short_box.y1 = temp_box.y1; - short_box.x2 = temp_box.x2; - short_box.y2 = temp_box.y2; + /* Now copy back the box32 to a box16 box, avoiding overflow. */ + short_box.x1 = MIN(temp_box.x1, INT16_MAX); + short_box.y1 = MIN(temp_box.y1, INT16_MAX); + short_box.x2 = MIN(temp_box.x2, INT16_MAX); + short_box.y2 = MIN(temp_box.y2, INT16_MAX); RegionInitBoxes(temp_region, &short_box, 1); DEBUGF("copy to temp source region \n"); DEBUGRegionPrint(temp_region); diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_lines.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_lines.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_lines.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_lines.c 2017-10-12 17:24:59.000000000 +0000 @@ -46,6 +46,7 @@ char *vbo_offset; int box_index; int add_last; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -103,8 +104,9 @@ int nbox = RegionNumRects(gc->pCompositeClip); BoxPtr box = RegionRects(gc->pCompositeClip); - glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; while (nbox--) { glScissor(box->x1 + off_x, @@ -116,12 +118,13 @@ } } + ret = TRUE; + +bail: glDisable(GL_SCISSOR_TEST); glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; -bail: - return FALSE; + return ret; } static Bool diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_points.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_points.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_points.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_points.c 2017-10-12 17:24:59.000000000 +0000 @@ -47,6 +47,7 @@ GLshort *vbo_ppt; char *vbo_offset; int box_index; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -90,8 +91,9 @@ int nbox = RegionNumRects(gc->pCompositeClip); BoxPtr box = RegionRects(gc->pCompositeClip); - glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; while (nbox--) { glScissor(box->x1 + off_x, @@ -103,13 +105,13 @@ } } + ret = TRUE; + +bail: glDisable(GL_SCISSOR_TEST); glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; - -bail: - return FALSE; + return ret; } void diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_rects.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_rects.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_rects.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_rects.c 2017-10-12 17:24:59.000000000 +0000 @@ -52,6 +52,7 @@ GLshort *v; char *vbo_offset; int box_index; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -115,8 +116,9 @@ int nbox = RegionNumRects(gc->pCompositeClip); BoxPtr box = RegionRects(gc->pCompositeClip); - glamor_set_destination_drawable(drawable, box_index, TRUE, FALSE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, TRUE, FALSE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; while (nbox--) { glScissor(box->x1 + off_x, @@ -132,14 +134,15 @@ } } + ret = TRUE; + +bail: glDisable(GL_SCISSOR_TEST); if (glamor_priv->glsl_version >= 130) glVertexAttribDivisor(GLAMOR_VERTEX_POS, 0); glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; -bail: - return FALSE; + return ret; } static void diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_render.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_render.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_render.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_render.c 2017-10-12 17:24:59.000000000 +0000 @@ -992,7 +992,7 @@ goto fail; } } else { - if (!glamor_render_format_is_supported(source->format)) { + if (source && !glamor_render_format_is_supported(source->format)) { glamor_fallback("Unsupported source picture format.\n"); goto fail; } @@ -1411,7 +1411,8 @@ x_source, y_source, x_mask, y_mask, x_dest, y_dest, width, height); /* Is the composite operation equivalent to a copy? */ - if (!mask && !source->alphaMap && !dest->alphaMap + if (source && + !mask && !source->alphaMap && !dest->alphaMap && source->pDrawable && !source->transform /* CopyArea is only defined with matching depths. */ && dest->pDrawable->depth == source->pDrawable->depth diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_segs.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_segs.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_segs.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_segs.c 2017-10-12 17:24:59.000000000 +0000 @@ -46,6 +46,7 @@ char *vbo_offset; int box_index; int add_last; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -62,7 +63,7 @@ &glamor_facet_poly_segment); if (!prog) - goto bail_ctx; + goto bail; /* Set up the vertex buffers for the points */ @@ -95,8 +96,9 @@ int nbox = RegionNumRects(gc->pCompositeClip); BoxPtr box = RegionRects(gc->pCompositeClip); - glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, TRUE, TRUE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; while (nbox--) { glScissor(box->x1 + off_x, @@ -108,13 +110,13 @@ } } + ret = TRUE; + glDisable(GL_SCISSOR_TEST); glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; -bail_ctx: bail: - return FALSE; + return ret; } static Bool diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_spans.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_spans.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_spans.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_spans.c 2017-10-12 17:24:59.000000000 +0000 @@ -56,6 +56,7 @@ char *vbo_offset; int c; int box_index; + Bool ret = FALSE; pixmap_priv = glamor_get_pixmap_private(pixmap); if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) @@ -123,8 +124,9 @@ int nbox = RegionNumRects(gc->pCompositeClip); BoxPtr box = RegionRects(gc->pCompositeClip); - glamor_set_destination_drawable(drawable, box_index, FALSE, FALSE, - prog->matrix_uniform, &off_x, &off_y); + if (!glamor_set_destination_drawable(drawable, box_index, FALSE, FALSE, + prog->matrix_uniform, &off_x, &off_y)) + goto bail; while (nbox--) { glScissor(box->x1 + off_x, @@ -140,14 +142,15 @@ } } + ret = TRUE; + +bail: glDisable(GL_SCISSOR_TEST); if (glamor_priv->glsl_version >= 130) glVertexAttribDivisor(GLAMOR_VERTEX_POS, 0); glDisableVertexAttribArray(GLAMOR_VERTEX_POS); - return TRUE; -bail: - return FALSE; + return ret; } static void diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_transform.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_transform.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_transform.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_transform.c 2017-10-12 17:24:59.000000000 +0000 @@ -33,7 +33,7 @@ * clipping computations can be adjusted as appropriate */ -void +Bool glamor_set_destination_drawable(DrawablePtr drawable, int box_index, Bool do_drawable_translate, @@ -53,6 +53,11 @@ float scale_x = 2.0f / (float) w; float scale_y = 2.0f / (float) h; float center_adjust = 0.0f; + glamor_pixmap_fbo *pixmap_fbo; + + pixmap_fbo = glamor_pixmap_fbo_at(pixmap_priv, box_index); + if (!pixmap_fbo) + return FALSE; glamor_get_drawable_deltas(drawable, pixmap, &off_x, &off_y); @@ -94,8 +99,10 @@ scale_x, (off_x + center_adjust) * scale_x - 1.0f, scale_y, (off_y + center_adjust) * scale_y - 1.0f); - glamor_set_destination_pixmap_fbo(glamor_priv, glamor_pixmap_fbo_at(pixmap_priv, box_index), + glamor_set_destination_pixmap_fbo(glamor_priv, pixmap_fbo, 0, 0, w, h); + + return TRUE; } /* diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_transform.h xorg-server-hwe-16.04-1.19.5/glamor/glamor_transform.h --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_transform.h 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_transform.h 2017-10-12 17:24:59.000000000 +0000 @@ -23,7 +23,7 @@ #ifndef _GLAMOR_TRANSFORM_H_ #define _GLAMOR_TRANSFORM_H_ -void +Bool glamor_set_destination_drawable(DrawablePtr drawable, int box_index, Bool do_drawable_translate, diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_utils.h xorg-server-hwe-16.04-1.19.5/glamor/glamor_utils.h --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_utils.h 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_utils.h 2017-10-12 17:24:59.000000000 +0000 @@ -723,8 +723,8 @@ static inline void glamor_make_current(glamor_screen_private *glamor_priv) { - if (lastGLContext != &glamor_priv->ctx) { - lastGLContext = &glamor_priv->ctx; + if (lastGLContext != glamor_priv->ctx.ctx) { + lastGLContext = glamor_priv->ctx.ctx; glamor_priv->ctx.make_current(&glamor_priv->ctx); } } diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/glamor_xv.c xorg-server-hwe-16.04-1.19.5/glamor/glamor_xv.c --- xorg-server-hwe-16.04-1.19.3/glamor/glamor_xv.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/glamor_xv.c 2017-10-12 17:24:59.000000000 +0000 @@ -430,11 +430,14 @@ glamor_destroy_pixmap(port_priv->src_pix[i]); port_priv->src_pix[0] = - glamor_create_pixmap(pScreen, width, height, 8, 0); + glamor_create_pixmap(pScreen, width, height, 8, + GLAMOR_CREATE_FBO_NO_FBO); port_priv->src_pix[1] = - glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, 0); + glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, + GLAMOR_CREATE_FBO_NO_FBO); port_priv->src_pix[2] = - glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, 0); + glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, + GLAMOR_CREATE_FBO_NO_FBO); port_priv->src_pix_w = width; port_priv->src_pix_h = height; diff -Nru xorg-server-hwe-16.04-1.19.3/glamor/Makefile.in xorg-server-hwe-16.04-1.19.5/glamor/Makefile.in --- xorg-server-hwe-16.04-1.19.3/glamor/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glamor/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/glx/Makefile.in xorg-server-hwe-16.04-1.19.5/glx/Makefile.in --- xorg-server-hwe-16.04-1.19.3/glx/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/glx/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/config/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/config/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/config/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/config/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/config/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/config/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/config/man/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/config/man/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/config/scanner.c xorg-server-hwe-16.04-1.19.5/hw/dmx/config/scanner.c --- xorg-server-hwe-16.04-1.19.3/hw/dmx/config/scanner.c 2017-03-15 18:06:11.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/config/scanner.c 2017-10-12 17:25:38.000000000 +0000 @@ -8,7 +8,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -87,25 +87,13 @@ #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif /* Returned upon end-of-file. */ @@ -166,7 +154,7 @@ typedef size_t yy_size_t; #endif -extern yy_size_t yyleng; +extern int yyleng; extern FILE *yyin, *yyout; @@ -205,12 +193,12 @@ /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -261,7 +249,7 @@ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general @@ -280,11 +268,11 @@ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -309,7 +297,7 @@ YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); @@ -343,7 +331,7 @@ typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +FILE *yyin = NULL, *yyout = NULL; typedef int yy_state_type; @@ -360,17 +348,14 @@ static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif -static void yy_fatal_error (yyconst char msg[] ); +static void yynoreturn yy_fatal_error (yyconst char* msg ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; @@ -561,7 +546,7 @@ static int getcomment(int token, const char *text, int leng); static int lineno = 1; -#line 565 "scanner.c" +#line 550 "scanner.c" #define INITIAL 0 #define OTHER 1 @@ -601,7 +586,7 @@ void yyset_out (FILE * _out_str ); -yy_size_t yyget_leng (void ); + int yyget_leng (void ); char *yyget_text (void ); @@ -660,7 +645,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -671,7 +656,7 @@ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -684,7 +669,7 @@ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -785,7 +770,7 @@ { #line 63 "scanner.l" -#line 789 "scanner.c" +#line 774 "scanner.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -816,7 +801,7 @@ if ( yy_current_state >= 73 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 107 ); @@ -949,7 +934,7 @@ #line 84 "scanner.l" ECHO; YY_BREAK -#line 953 "scanner.c" +#line 938 "scanner.c" case YY_END_OF_BUFFER: { @@ -1148,7 +1133,7 @@ if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1157,11 +1142,11 @@ b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc((void *) b->yy_ch_buf,(yy_size_t) (b->yy_buf_size + 2) ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1203,10 +1188,10 @@ else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,(yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } @@ -1244,7 +1229,7 @@ if ( yy_current_state >= 73 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; } return yy_current_state; @@ -1272,7 +1257,7 @@ if ( yy_current_state >= 73 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 72); return yy_is_jam ? 0 : yy_current_state; @@ -1292,7 +1277,7 @@ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - yy_size_t number_to_move = (yy_n_chars) + 2; + int number_to_move = (yy_n_chars) + 2; char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; char *source = @@ -1304,7 +1289,7 @@ yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -1343,7 +1328,7 @@ else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -1367,7 +1352,7 @@ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return EOF; + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -1470,12 +1455,12 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = (yy_size_t)size; + b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc((yy_size_t) (b->yy_buf_size + 2) ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -1617,7 +1602,7 @@ */ static void yyensure_buffer_stack (void) { - yy_size_t num_to_alloc; + int num_to_alloc; if (!(yy_buffer_stack)) { @@ -1672,16 +1657,16 @@ base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -1704,7 +1689,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { - return yy_scan_bytes(yystr,strlen(yystr) ); + return yy_scan_bytes(yystr,(int) strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will @@ -1714,7 +1699,7 @@ * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; @@ -1722,7 +1707,7 @@ yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); @@ -1748,7 +1733,7 @@ #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg ) +static void yynoreturn yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); @@ -1801,7 +1786,7 @@ /** Get the length of the current token. * */ -yy_size_t yyget_leng (void) +int yyget_leng (void) { return yyleng; } @@ -1857,10 +1842,10 @@ * This function is called from yylex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = 0; + (yy_buffer_stack) = NULL; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; + (yy_c_buf_p) = NULL; (yy_init) = 0; (yy_start) = 0; @@ -1869,8 +1854,8 @@ yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -1928,7 +1913,7 @@ void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return malloc(size); } void *yyrealloc (void * ptr, yy_size_t size ) @@ -1941,7 +1926,7 @@ * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } void yyfree (void * ptr ) diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxinit.c xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxinit.c --- xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxinit.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxinit.c 2017-10-12 17:24:59.000000000 +0000 @@ -532,63 +532,6 @@ dmxGetPixmapFormats(dmxScreen); } -/* If this doesn't compile, just add || defined(yoursystem) to the line - * below. This information is to help with bug reports and is not - * critical. */ -#if !defined(_POSIX_SOURCE) -static const char * -dmxExecOS(void) -{ - return ""; -} -#else -#include -static const char * -dmxExecOS(void) -{ - static char buffer[128]; - static int initialized = 0; - struct utsname u; - - if (!initialized++) { - memset(buffer, 0, sizeof(buffer)); - uname(&u); - snprintf(buffer, sizeof(buffer) - 1, "%s %s %s", - u.sysname, u.release, u.version); - } - return buffer; -} -#endif - -static const char * -dmxBuildCompiler(void) -{ - static char buffer[128]; - static int initialized = 0; - - if (!initialized++) { - memset(buffer, 0, sizeof(buffer)); -#if defined(__GNUC__) && defined(__GNUC_MINOR__) &&defined(__GNUC_PATCHLEVEL__) - snprintf(buffer, sizeof(buffer) - 1, "gcc %d.%d.%d", - __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); -#endif - } - return buffer; -} - -static const char * -dmxExecHost(void) -{ - static char buffer[128]; - static int initialized = 0; - - if (!initialized++) { - memset(buffer, 0, sizeof(buffer)); - XmuGetHostname(buffer, sizeof(buffer) - 1); - } - return buffer; -} - static void dmxAddExtensions(Bool glxSupported) { const ExtensionModule dmxExtensions[] = { @@ -641,12 +584,6 @@ SetVendorRelease(VENDOR_RELEASE); SetVendorString(VENDOR_STRING); - if (dmxGeneration == 1) { - dmxLog(dmxInfo, "DMX Build OS: %s (%s)\n", OSNAME, OSVENDOR); - dmxLog(dmxInfo, "DMX Build Compiler: %s\n", dmxBuildCompiler()); - dmxLog(dmxInfo, "DMX Execution OS: %s\n", dmxExecOS()); - dmxLog(dmxInfo, "DMX Execution Host: %s\n", dmxExecHost()); - } dmxLog(dmxInfo, "MAXSCREENS: %d\n", MAXSCREENS); for (i = 0; i < dmxNumScreens; i++) { diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxpict.c xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxpict.c --- xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxpict.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxpict.c 2017-10-12 17:24:59.000000000 +0000 @@ -716,6 +716,8 @@ filter = (char *) (stuff + 1); params = (XFixed *) (filter + ((stuff->nbytes + 3) & ~3)); nparams = ((XFixed *) stuff + client->req_len) - params; + if (nparams < 0) + return BadLength; XRenderSetPictureFilter(dmxScreen->beDisplay, pPictPriv->pict, filter, params, nparams); diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxsync.c xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxsync.c --- xorg-server-hwe-16.04-1.19.3/hw/dmx/dmxsync.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/dmxsync.c 2017-10-12 17:24:59.000000000 +0000 @@ -182,7 +182,7 @@ /* Do sync or set time for later */ if (now || !dmxScreen) { - if (!TimerForce(dmxSyncTimer)) + if (dmxSyncTimer == NULL || !TimerForce(dmxSyncTimer)) dmxSyncCallback(NULL, 0, NULL); /* At this point, dmxSyncPending == 0 because * dmxSyncCallback must have been called. */ diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/doc/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/doc/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/doc/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/doc/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/doxygen/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/doxygen/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/doxygen/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/doxygen/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/examples/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/examples/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/examples/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/examples/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/glxProxy/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/glxProxy/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/glxProxy/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/glxProxy/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/input/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/input/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/input/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/input/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/input/usb-keyboard.c xorg-server-hwe-16.04-1.19.5/hw/dmx/input/usb-keyboard.c --- xorg-server-hwe-16.04-1.19.3/hw/dmx/input/usb-keyboard.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/input/usb-keyboard.c 2017-10-12 17:24:59.000000000 +0000 @@ -289,7 +289,8 @@ led = i; event.code = led; event.value = ! !(ctrl->leds & (1 << led)); - write(priv->fd, &event, sizeof(event)); + if (write(priv->fd, &event, sizeof(event)) != sizeof(event)) + DebugF("Failed to set LEDs!\n"); } } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/dmx/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/dmx/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/dmx/man/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/dmx/man/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/ephyr.c xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/ephyr.c --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/ephyr.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/ephyr.c 2017-10-12 17:24:59.000000000 +0000 @@ -725,8 +725,10 @@ ephyrShadowUpdate, ephyrWindowLinear); else { #ifdef GLAMOR - if (ephyr_glamor) - ephyr_glamor_create_screen_resources(pScreen); + if (ephyr_glamor) { + if (!ephyr_glamor_create_screen_resources(pScreen)) + return FALSE; + } #endif return ephyrSetInternalDamage(pScreen); } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/ephyrvideo.c xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/ephyrvideo.c --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/ephyrvideo.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/ephyrvideo.c 2017-10-12 17:24:59.000000000 +0000 @@ -226,6 +226,11 @@ return FALSE; } + if (!hostx_has_extension(&xcb_xv_id)) { + EPHYR_LOG_ERROR("Host has no XVideo extension\n"); + return FALSE; + } + if (!xv_priv) { xv_priv = ephyrXVPrivNew(); } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/hostx.c xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/hostx.c --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/hostx.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/hostx.c 2017-10-12 17:24:59.000000000 +0000 @@ -927,7 +927,6 @@ #ifdef GLAMOR if (ephyr_glamor) { *bytes_per_line = 0; - *bits_per_pixel = 0; ephyr_glamor_set_window_size(scrpriv->glamor, scrpriv->win_width, scrpriv->win_height); return NULL; @@ -1559,6 +1558,8 @@ pScreen->height, pScreen->rootDepth, GLAMOR_CREATE_NO_LARGE); + if (!screen_pixmap) + return FALSE; pScreen->SetScreenPixmap(screen_pixmap); if (pScreen->root && pScreen->SetWindowPixmap) @@ -1566,6 +1567,9 @@ /* Tell the GLX code what to GL texture to read from. */ tex = glamor_get_pixmap_texture(screen_pixmap); + if (!tex) + return FALSE; + ephyr_glamor_set_texture(scrpriv->glamor, tex); return TRUE; diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/ephyr/man/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/ephyr/man/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/fake/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/fake/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/fake/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/fake/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/fbdev/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/fbdev/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/fbdev/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/fbdev/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/linux/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/linux/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/linux/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/linux/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/kdrive/src/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/kdrive/src/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/kdrive/src/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/kdrive/src/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/vfb/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/vfb/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/vfb/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/vfb/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/vfb/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/vfb/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/vfb/man/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/vfb/man/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86DGA.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86DGA.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86DGA.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86DGA.c 2017-10-12 17:24:59.000000000 +0000 @@ -1272,13 +1272,14 @@ char *deviceName; int nameSize; + REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; - REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1305,14 +1306,14 @@ { REQUEST(xXDGACloseFramebufferReq); + REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; - REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); - DGACloseFramebuffer(stuff->screen); return Success; @@ -1328,10 +1329,11 @@ xXDGAModeInfo info; XDGAModePtr mode; + REQUEST_SIZE_MATCH(xXDGAQueryModesReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXDGAQueryModesReq); rep.type = X_Reply; rep.length = 0; rep.number = 0; @@ -1443,11 +1445,12 @@ ClientPtr owner; int size; + REQUEST_SIZE_MATCH(xXDGASetModeReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; owner = DGA_GETCLIENT(stuff->screen); - REQUEST_SIZE_MATCH(xXDGASetModeReq); rep.type = X_Reply; rep.length = 0; rep.offset = 0; @@ -1533,14 +1536,14 @@ { REQUEST(xXDGASetViewportReq); + REQUEST_SIZE_MATCH(xXDGASetViewportReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGASetViewportReq); - DGASetViewport(stuff->screen, stuff->x, stuff->y, stuff->flags); return Success; @@ -1554,14 +1557,14 @@ REQUEST(xXDGAInstallColormapReq); + REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); - rc = dixLookupResourceByType((void **) &cmap, stuff->cmap, RT_COLORMAP, client, DixInstallAccess); if (rc != Success) @@ -1575,14 +1578,14 @@ { REQUEST(xXDGASelectInputReq); + REQUEST_SIZE_MATCH(xXDGASelectInputReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGASelectInputReq); - if (DGA_GETCLIENT(stuff->screen) == client) DGASelectInput(stuff->screen, client, stuff->mask); @@ -1594,14 +1597,14 @@ { REQUEST(xXDGAFillRectangleReq); + REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); - if (Success != DGAFillRect(stuff->screen, stuff->x, stuff->y, stuff->width, stuff->height, stuff->color)) return BadMatch; @@ -1614,14 +1617,14 @@ { REQUEST(xXDGACopyAreaReq); + REQUEST_SIZE_MATCH(xXDGACopyAreaReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGACopyAreaReq); - if (Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy, stuff->width, stuff->height, stuff->dstx, stuff->dsty)) @@ -1635,14 +1638,14 @@ { REQUEST(xXDGACopyTransparentAreaReq); + REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); - if (Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy, stuff->width, stuff->height, stuff->dstx, stuff->dsty, stuff->key)) @@ -1657,13 +1660,14 @@ REQUEST(xXDGAGetViewportStatusReq); xXDGAGetViewportStatusReply rep; + REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1680,13 +1684,14 @@ REQUEST(xXDGASyncReq); xXDGASyncReply rep; + REQUEST_SIZE_MATCH(xXDGASyncReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGASyncReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1725,13 +1730,14 @@ xXDGAChangePixmapModeReply rep; int x, y; + REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1755,14 +1761,14 @@ REQUEST(xXDGACreateColormapReq); int result; + REQUEST_SIZE_MATCH(xXDGACreateColormapReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXDGACreateColormapReq); - if (!stuff->mode) return BadValue; @@ -1791,10 +1797,11 @@ int num, offset, flags; char *name; + REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1831,9 +1838,10 @@ REQUEST(xXF86DGADirectVideoReq); + REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; @@ -1889,10 +1897,11 @@ REQUEST(xXF86DGAGetViewPortSizeReq); xXF86DGAGetViewPortSizeReply rep; + REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1917,14 +1926,14 @@ { REQUEST(xXF86DGASetViewPortReq); + REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); - if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; @@ -1944,10 +1953,11 @@ REQUEST(xXF86DGAGetVidPageReq); xXF86DGAGetVidPageReply rep; + REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1962,11 +1972,11 @@ { REQUEST(xXF86DGASetVidPageReq); + REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); - /* silently fail */ return Success; @@ -1980,14 +1990,14 @@ REQUEST(xXF86DGAInstallColormapReq); + REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); - if (!DGAActive(stuff->screen)) return DGAErrorBase + XF86DGADirectNotActivated; @@ -2008,10 +2018,11 @@ REQUEST(xXF86DGAQueryDirectVideoReq); xXF86DGAQueryDirectVideoReply rep; + REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; - REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -2030,14 +2041,14 @@ REQUEST(xXF86DGAViewPortChangedReq); xXF86DGAViewPortChangedReply rep; + REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); + if (stuff->screen >= screenInfo.numScreens) return BadValue; if (DGA_GETCLIENT(stuff->screen) != client) return DGAErrorBase + XF86DGADirectNotActivated; - REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); - if (!DGAActive(stuff->screen)) return DGAErrorBase + XF86DGADirectNotActivated; diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86Init.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86Init.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86Init.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86Init.c 2017-10-12 17:24:59.000000000 +0000 @@ -309,6 +309,7 @@ } else { OsSignal(SIGSEGV, SIG_DFL); + OsSignal(SIGABRT, SIG_DFL); OsSignal(SIGILL, SIG_DFL); #ifdef SIGEMT OsSignal(SIGEMT, SIG_DFL); diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86pciBus.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86pciBus.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86pciBus.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86pciBus.c 2017-10-12 17:24:59.000000000 +0000 @@ -1303,7 +1303,7 @@ char *line = NULL; size_t len; ssize_t read; - char path_name[256], vendor_str[5], chip_str[5]; + char path_name[512], vendor_str[5], chip_str[5]; uint16_t vendor, chip; int i = 0, j; diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86Xinput.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86Xinput.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/common/xf86Xinput.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/common/xf86Xinput.c 2017-10-12 17:24:59.000000000 +0000 @@ -84,6 +84,9 @@ #include #include #include +#ifdef HAVE_SYS_SYSMACROS_H +#include +#endif #ifdef HAVE_SYS_MKDEV_H #include /* for major() & minor() on Solaris */ #endif diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/ddc/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/ddc/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/ddc/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/ddc/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/Makefile.am xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/Makefile.am --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/Makefile.am 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/Makefile.am 2017-10-12 17:24:59.000000000 +0000 @@ -1,4 +1,4 @@ -noinst_LTLIBRARIES = libdixmods.la libxorgxkb.la +noinst_LTLIBRARIES = libdixmods.la if GLX GLXMODS = libglx.la @@ -46,5 +46,3 @@ libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c libdixmods_la_CFLAGS = $(AM_CFLAGS) - -libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -184,9 +184,6 @@ libwfb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libwfb_la_CFLAGS) \ $(CFLAGS) $(libwfb_la_LDFLAGS) $(LDFLAGS) -o $@ -libxorgxkb_la_LIBADD = -am_libxorgxkb_la_OBJECTS = xkbVT.lo xkbPrivate.lo xkbKillSrv.lo -libxorgxkb_la_OBJECTS = $(am_libxorgxkb_la_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -223,10 +220,10 @@ am__v_CCLD_1 = SOURCES = $(libdixmods_la_SOURCES) $(libfb_la_SOURCES) \ $(libglx_la_SOURCES) $(libshadow_la_SOURCES) \ - $(libwfb_la_SOURCES) $(libxorgxkb_la_SOURCES) + $(libwfb_la_SOURCES) DIST_SOURCES = $(libdixmods_la_SOURCES) $(libfb_la_SOURCES) \ $(libglx_la_SOURCES) $(libshadow_la_SOURCES) \ - $(libwfb_la_SOURCES) $(libxorgxkb_la_SOURCES) + $(libwfb_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -607,7 +604,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libdixmods.la libxorgxkb.la +noinst_LTLIBRARIES = libdixmods.la @GLX_TRUE@GLXMODS = libglx.la module_LTLIBRARIES = libfb.la \ libwfb.la \ @@ -639,7 +636,6 @@ libshadow_la_SOURCES = shmodule.c libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c libdixmods_la_CFLAGS = $(AM_CFLAGS) -libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c all: all-am .SUFFIXES: @@ -770,9 +766,6 @@ libwfb.la: $(libwfb_la_OBJECTS) $(libwfb_la_DEPENDENCIES) $(EXTRA_libwfb_la_DEPENDENCIES) $(AM_V_CCLD)$(libwfb_la_LINK) -rpath $(moduledir) $(libwfb_la_OBJECTS) $(libwfb_la_LIBADD) $(LIBS) -libxorgxkb.la: $(libxorgxkb_la_OBJECTS) $(libxorgxkb_la_DEPENDENCIES) $(EXTRA_libxorgxkb_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libxorgxkb_la_OBJECTS) $(libxorgxkb_la_LIBADD) $(LIBS) - mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -784,9 +777,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfb_la-fbmodule.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwfb_la-fbmodule.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shmodule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbKillSrv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbPrivate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbVT.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbKillSrv.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbKillSrv.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbKillSrv.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbKillSrv.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -/************************************************************ -Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. - -Permission to use, copy, modify, and distribute this -software and its documentation for any purpose and without -fee is hereby granted, provided that the above copyright -notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting -documentation, and that the name of Silicon Graphics not be -used in advertising or publicity pertaining to distribution -of the software without specific prior written permission. -Silicon Graphics makes no representation about the suitability -of this software for any purpose. It is provided "as is" -without any express or implied warranty. - -SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -THE USE OR PERFORMANCE OF THIS SOFTWARE. - -********************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include -#include - -#include "xf86.h" - -int -XkbDDXTerminateServer(DeviceIntPtr dev, KeyCode key, XkbAction *act) -{ - if (dev != inputInfo.keyboard) - xf86ProcessActionEvent(ACTION_TERMINATE, NULL); - - return 0; -} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbPrivate.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbPrivate.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbPrivate.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbPrivate.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "windowstr.h" -#define XKBSRV_NEED_FILE_FUNCS -#include - -#include "dixgrabs.h" -#include "os.h" -#include "xf86.h" - -int -XkbDDXPrivate(DeviceIntPtr dev, KeyCode key, XkbAction *act) -{ - XkbAnyAction *xf86act = &(act->any); - char msgbuf[XkbAnyActionDataSize + 1]; - - if (xf86act->type == XkbSA_XFree86Private) { - memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize); - msgbuf[XkbAnyActionDataSize] = '\0'; - if (strcasecmp(msgbuf, "-vmode") == 0) - xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); - else if (strcasecmp(msgbuf, "+vmode") == 0) - xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); - else if (strcasecmp(msgbuf, "prgrbs") == 0) { - DeviceIntPtr tmp; - - xf86Msg(X_INFO, "Printing all currently active device grabs:\n"); - for (tmp = inputInfo.devices; tmp; tmp = tmp->next) - if (tmp->deviceGrab.grab) - PrintDeviceGrabInfo(tmp); - xf86Msg(X_INFO, "End list of active device grabs\n"); - - PrintPassiveGrabs(); - } - else if (strcasecmp(msgbuf, "ungrab") == 0) - UngrabAllDevices(FALSE); - else if (strcasecmp(msgbuf, "clsgrb") == 0) - UngrabAllDevices(TRUE); - else if (strcasecmp(msgbuf, "prwins") == 0) - PrintWindowTree(); - } - - return 0; -} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbVT.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbVT.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dixmods/xkbVT.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dixmods/xkbVT.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -/************************************************************ -Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. - -Permission to use, copy, modify, and distribute this -software and its documentation for any purpose and without -fee is hereby granted, provided that the above copyright -notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting -documentation, and that the name of Silicon Graphics not be -used in advertising or publicity pertaining to distribution -of the software without specific prior written permission. -Silicon Graphics makes no representation about the suitability -of this software for any purpose. It is provided "as is" -without any express or implied warranty. - -SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -THE USE OR PERFORMANCE OF THIS SOFTWARE. - -********************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include -#include - -#include "xf86.h" - -int -XkbDDXSwitchScreen(DeviceIntPtr dev, KeyCode key, XkbAction *act) -{ - int scrnnum = XkbSAScreen(&act->screen); - - if (act->screen.flags & XkbSA_SwitchApplication) { - if (act->screen.flags & XkbSA_SwitchAbsolute) - xf86ProcessActionEvent(ACTION_SWITCHSCREEN, (void *) &scrnnum); - else { - if (scrnnum < 0) - xf86ProcessActionEvent(ACTION_SWITCHSCREEN_PREV, NULL); - else - xf86ProcessActionEvent(ACTION_SWITCHSCREEN_NEXT, NULL); - } - } - - return 1; -} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/doc/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/doc/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/doc/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/doc/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri/xf86dri.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri/xf86dri.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri/xf86dri.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri/xf86dri.c 2017-10-12 17:24:59.000000000 +0000 @@ -570,6 +570,7 @@ SProcXF86DRIQueryDirectRenderingCapable(register ClientPtr client) { REQUEST(xXF86DRIQueryDirectRenderingCapableReq); + REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq); swaps(&stuff->length); swapl(&stuff->screen); return ProcXF86DRIQueryDirectRenderingCapable(client); diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/pci_ids/i965_pci_ids.h xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/pci_ids/i965_pci_ids.h --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/pci_ids/i965_pci_ids.h 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/pci_ids/i965_pci_ids.h 2017-10-12 17:24:59.000000000 +0000 @@ -109,6 +109,10 @@ CHIPSET(0x162B, bdw_gt3, "Intel(R) Iris 6100 (Broadwell GT3)") CHIPSET(0x162D, bdw_gt3, "Intel(R) Broadwell GT3") CHIPSET(0x162E, bdw_gt3, "Intel(R) Broadwell GT3") +CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherrytrail)") +CHIPSET(0x22B1, chv, "Intel(R) HD Graphics XXX (Braswell)") /* Overridden in brw_get_renderer_string */ +CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)") +CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)") CHIPSET(0x1902, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)") CHIPSET(0x1906, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)") CHIPSET(0x190A, skl_gt1, "Intel(R) Skylake GT1") @@ -134,8 +138,13 @@ CHIPSET(0x193A, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") CHIPSET(0x193B, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)") CHIPSET(0x193D, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") -CHIPSET(0x5902, kbl_gt1, "Intel(R) Kabylake GT1") -CHIPSET(0x5906, kbl_gt1, "Intel(R) Kabylake GT1") +CHIPSET(0x0A84, bxt, "Intel(R) HD Graphics (Broxton)") +CHIPSET(0x1A84, bxt, "Intel(R) HD Graphics (Broxton)") +CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)") +CHIPSET(0x5A84, bxt, "Intel(R) HD Graphics 505 (Broxton)") +CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics 500 (Broxton 2x6)") +CHIPSET(0x5902, kbl_gt1, "Intel(R) HD Graphics 610 (Kaby Lake GT1)") +CHIPSET(0x5906, kbl_gt1, "Intel(R) HD Graphics 610 (Kaby Lake GT1)") CHIPSET(0x590A, kbl_gt1, "Intel(R) Kabylake GT1") CHIPSET(0x5908, kbl_gt1, "Intel(R) Kabylake GT1") CHIPSET(0x590B, kbl_gt1, "Intel(R) Kabylake GT1") @@ -143,23 +152,39 @@ CHIPSET(0x5913, kbl_gt1_5, "Intel(R) Kabylake GT1.5") CHIPSET(0x5915, kbl_gt1_5, "Intel(R) Kabylake GT1.5") CHIPSET(0x5917, kbl_gt1_5, "Intel(R) Kabylake GT1.5") -CHIPSET(0x5912, kbl_gt2, "Intel(R) Kabylake GT2") -CHIPSET(0x5916, kbl_gt2, "Intel(R) Kabylake GT2") -CHIPSET(0x591A, kbl_gt2, "Intel(R) Kabylake GT2") -CHIPSET(0x591B, kbl_gt2, "Intel(R) Kabylake GT2") -CHIPSET(0x591D, kbl_gt2, "Intel(R) Kabylake GT2") -CHIPSET(0x591E, kbl_gt2, "Intel(R) Kabylake GT2") +CHIPSET(0x5912, kbl_gt2, "Intel(R) HD Graphics 630 (Kaby Lake GT2)") +CHIPSET(0x5916, kbl_gt2, "Intel(R) HD Graphics 620 (Kaby Lake GT2)") +CHIPSET(0x591A, kbl_gt2, "Intel(R) HD Graphics P630 (Kaby Lake GT2)") +CHIPSET(0x591B, kbl_gt2, "Intel(R) HD Graphics 630 (Kaby Lake GT2)") +CHIPSET(0x591D, kbl_gt2, "Intel(R) HD Graphics P630 (Kaby Lake GT2)") +CHIPSET(0x591E, kbl_gt2, "Intel(R) HD Graphics 615 (Kaby Lake GT2)") CHIPSET(0x5921, kbl_gt2, "Intel(R) Kabylake GT2F") CHIPSET(0x5923, kbl_gt3, "Intel(R) Kabylake GT3") -CHIPSET(0x5926, kbl_gt3, "Intel(R) Kabylake GT3") -CHIPSET(0x5927, kbl_gt3, "Intel(R) Kabylake GT3") +CHIPSET(0x5926, kbl_gt3, "Intel(R) Iris Plus Graphics 640 (Kaby Lake GT3)") +CHIPSET(0x5927, kbl_gt3, "Intel(R) Iris Plus Graphics 650 (Kaby Lake GT3)") CHIPSET(0x593B, kbl_gt4, "Intel(R) Kabylake GT4") -CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherrytrail)") -CHIPSET(0x22B1, chv, "Intel(R) HD Graphics XXX (Braswell)") /* Overridden in brw_get_renderer_string */ -CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)") -CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)") -CHIPSET(0x0A84, bxt, "Intel(R) HD Graphics (Broxton)") -CHIPSET(0x1A84, bxt, "Intel(R) HD Graphics (Broxton)") -CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)") -CHIPSET(0x5A84, bxt, "Intel(R) HD Graphics (Broxton)") -CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)") +CHIPSET(0x3184, glk, "Intel(R) HD Graphics (Geminilake)") +CHIPSET(0x3185, glk_2x6, "Intel(R) HD Graphics (Geminilake 2x6)") +CHIPSET(0x3E90, cfl_gt1, "Intel(R) HD Graphics (Coffeelake 2x6 GT1)") +CHIPSET(0x3E93, cfl_gt1, "Intel(R) HD Graphics (Coffeelake 2x6 GT1)") +CHIPSET(0x3E91, cfl_gt2, "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") +CHIPSET(0x3E92, cfl_gt2, "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") +CHIPSET(0x3E96, cfl_gt2, "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") +CHIPSET(0x3E9B, cfl_gt2, "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") +CHIPSET(0x3E94, cfl_gt2, "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") +CHIPSET(0x3EA6, cfl_gt3, "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") +CHIPSET(0x3EA7, cfl_gt3, "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") +CHIPSET(0x3EA8, cfl_gt3, "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") +CHIPSET(0x3EA5, cfl_gt3, "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") +CHIPSET(0x5A49, cnl_2x8, "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)") +CHIPSET(0x5A4A, cnl_2x8, "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)") +CHIPSET(0x5A41, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") +CHIPSET(0x5A42, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") +CHIPSET(0x5A44, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") +CHIPSET(0x5A59, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") +CHIPSET(0x5A5A, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") +CHIPSET(0x5A5C, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") +CHIPSET(0x5A50, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") +CHIPSET(0x5A51, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") +CHIPSET(0x5A52, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") +CHIPSET(0x5A54, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/pci_ids/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/pci_ids/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/dri2/pci_ids/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/dri2/pci_ids/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/driver.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/driver.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/driver.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/driver.c 2017-10-12 17:24:59.000000000 +0000 @@ -1202,6 +1202,11 @@ * vblank events */ if (syspath && strstr(syspath, "usb")) return FALSE; + + /* EVDI uses USB transport but is platform device, not usb. + * Blacklist it explicitly */ + if (syspath && strstr(syspath, "evdi")) + return FALSE; } #endif diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/drmmode_display.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/drmmode_display.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/drmmode_display.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/drmmode_display.c 2017-10-12 17:24:59.000000000 +0000 @@ -1566,7 +1566,8 @@ value->size != 1) return FALSE; memcpy(&atom, value->data, 4); - name = NameForAtom(atom); + if (!(name = NameForAtom(atom))) + return FALSE; /* search for matching name string, then set its value down */ for (j = 0; j < p->mode_prop->count_enums; j++) { @@ -2262,6 +2263,10 @@ } #ifdef CONFIG_UDEV_KMS + +#define DRM_MODE_LINK_STATUS_GOOD 0 +#define DRM_MODE_LINK_STATUS_BAD 1 + static void drmmode_handle_uevents(int fd, void *closure) { @@ -2281,6 +2286,52 @@ if (!found) return; + /* Try to re-set the mode on all the connectors with a BAD link-state: + * This may happen if a link degrades and a new modeset is necessary, using + * different link-training parameters. If the kernel found that the current + * mode is not achievable anymore, it should have pruned the mode before + * sending the hotplug event. Try to re-set the currently-set mode to keep + * the display alive, this will fail if the mode has been pruned. + * In any case, we will send randr events for the Desktop Environment to + * deal with it, if it wants to. + */ + for (i = 0; i < config->num_output; i++) { + xf86OutputPtr output = config->output[i]; + drmmode_output_private_ptr drmmode_output = output->driver_private; + uint32_t con_id; + drmModeConnectorPtr koutput; + + if (drmmode_output->mode_output == NULL) + continue; + con_id = drmmode_output->mode_output->connector_id; + /* Get an updated view of the properties for the current connector and + * look for the link-status property + */ + koutput = drmModeGetConnectorCurrent(drmmode->fd, con_id); + for (j = 0; koutput && j < koutput->count_props; j++) { + drmModePropertyPtr props; + props = drmModeGetProperty(drmmode->fd, koutput->props[j]); + if (props && props->flags & DRM_MODE_PROP_ENUM && + !strcmp(props->name, "link-status") && + koutput->prop_values[j] == DRM_MODE_LINK_STATUS_BAD) { + xf86CrtcPtr crtc = output->crtc; + if (!crtc) + continue; + + /* the connector got a link failure, re-set the current mode */ + drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation, + crtc->x, crtc->y); + + xf86DrvMsg(scrn->scrnIndex, X_WARNING, + "hotplug event: connector %u's link-state is BAD, " + "tried resetting the current mode. You may be left" + "with a black screen if this fails...\n", con_id); + } + drmModeFreeProperty(props); + } + drmModeFreeConnector(koutput); + } + mode_res = drmModeGetResources(drmmode->fd); if (!mode_res) goto out; @@ -2345,6 +2396,10 @@ out: RRGetInfo(xf86ScrnToScreen(scrn), TRUE); } + +#undef DRM_MODE_LINK_STATUS_BAD +#undef DRM_MODE_LINK_STATUS_GOOD + #endif void diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/vblank.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/vblank.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/drivers/modesetting/vblank.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/drivers/modesetting/vblank.c 2017-10-12 17:24:59.000000000 +0000 @@ -402,7 +402,7 @@ modesettingEntPtr ms_ent = ms_ent_priv(scrn); xorg_list_init(&ms_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; diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/exa/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/exa/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/exa/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/exa/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/exa/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/exa/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/exa/man/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/exa/man/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/fbdevhw/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/fbdevhw/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/fbdevhw/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/fbdevhw/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/fbdevhw/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/fbdevhw/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/fbdevhw/man/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/fbdevhw/man/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/glamor_egl/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/glamor_egl/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/glamor_egl/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/glamor_egl/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/i2c/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/i2c/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/i2c/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/i2c/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/int10/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/int10/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/int10/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/int10/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/loader/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/loader/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/loader/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/loader/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/Makefile.am xorg-server-hwe-16.04-1.19.5/hw/xfree86/Makefile.am --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/Makefile.am 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/Makefile.am 2017-10-12 17:24:59.000000000 +0000 @@ -36,13 +36,13 @@ SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \ ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \ - $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods \ + $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods xkb \ fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \ $(GLAMOR_EGL_SUBDIR) drivers DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ parser ramdac shadowfb vbe vgahw \ - loader dixmods dri dri2 exa modes \ + loader dixmods xkb dri dri2 exa modes \ utils doc man glamor_egl drivers bin_PROGRAMS = Xorg @@ -66,7 +66,7 @@ ddc/libddc.la \ i2c/libi2c.la \ $(XORG_LIBS) \ - dixmods/libxorgxkb.la \ + xkb/libxorgxkb.la \ $(DRI_LIB) \ $(DRI2_LIB) \ $(DRI3_LIB) \ @@ -148,5 +148,5 @@ dixmods/libdixmods.la: $(AM_V_at)cd dixmods && $(MAKE) libdixmods.la -dixmods/libxorgxkb.la: - $(AM_V_at)cd dixmods && $(MAKE) libxorgxkb.la +xkb/libxorgxkb.la: + $(AM_V_at)cd xkb && $(MAKE) libxorgxkb.la diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/Makefile.in 2017-03-15 18:05:42.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/Makefile.in 2017-10-12 17:25:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -121,8 +121,8 @@ os-support/libxorgos.la parser/libxf86config.la \ dixmods/libdixmods.la modes/libxf86modes.la \ ramdac/libramdac.la ddc/libddc.la i2c/libi2c.la \ - $(am__DEPENDENCIES_1) dixmods/libxorgxkb.la $(DRI_LIB) \ - $(DRI2_LIB) $(DRI3_LIB) $(top_builddir)/miext/sync/libsync.la \ + $(am__DEPENDENCIES_1) xkb/libxorgxkb.la $(DRI_LIB) $(DRI2_LIB) \ + $(DRI3_LIB) $(top_builddir)/miext/sync/libsync.la \ $(top_builddir)/mi/libmi.la $(top_builddir)/os/libos.la \ $(top_builddir)/Xext/libXvidmode.la AM_V_lt = $(am__v_lt_@AM_V@) @@ -607,13 +607,13 @@ @INT10MODULE_TRUE@INT10_SUBDIR = int10 SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \ ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \ - $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods \ + $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods xkb \ fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \ $(GLAMOR_EGL_SUBDIR) drivers DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ parser ramdac shadowfb vbe vgahw \ - loader dixmods dri dri2 exa modes \ + loader dixmods xkb dri dri2 exa modes \ utils doc man glamor_egl drivers nodist_Xorg_SOURCES = sdksyms.c @@ -635,7 +635,7 @@ ddc/libddc.la \ i2c/libi2c.la \ $(XORG_LIBS) \ - dixmods/libxorgxkb.la \ + xkb/libxorgxkb.la \ $(DRI_LIB) \ $(DRI2_LIB) \ $(DRI3_LIB) \ @@ -1174,8 +1174,8 @@ dixmods/libdixmods.la: $(AM_V_at)cd dixmods && $(MAKE) libdixmods.la -dixmods/libxorgxkb.la: - $(AM_V_at)cd dixmods && $(MAKE) libxorgxkb.la +xkb/libxorgxkb.la: + $(AM_V_at)cd xkb && $(MAKE) libxorgxkb.la # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/man/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/man/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/modes/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/modes/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/modes/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/modes/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/modes/xf86RandR12.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/modes/xf86RandR12.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/modes/xf86RandR12.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/modes/xf86RandR12.c 2017-10-12 17:24:59.000000000 +0000 @@ -1174,8 +1174,7 @@ if ((transform != NULL) != crtc->transformPresent) changed = TRUE; else if (transform && - memcmp(&transform->transform, &crtc->transform.transform, - sizeof(transform->transform)) != 0) + !RRTransformEqual(transform, &crtc->transform)) changed = TRUE; if (x != crtc->x || y != crtc->y) @@ -1250,33 +1249,50 @@ } static void -xf86RandR12CrtcComputeGamma(ScreenPtr pScreen, RRCrtcPtr randr_crtc) +xf86RandR12CrtcComputeGamma(xf86CrtcPtr crtc, LOCO *palette, + int palette_red_size, int palette_green_size, + int palette_blue_size, CARD16 *gamma_red, + CARD16 *gamma_green, CARD16 *gamma_blue, + int gamma_size) { - XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); - xf86CrtcPtr crtc = randr_crtc->devPrivate; int gamma_slots; - CARD16 value; + unsigned shift; + CARD32 value; int i, j; - gamma_slots = crtc->gamma_size / randrp->palette_red_size; - for (i = 0; i < randrp->palette_red_size; i++) { - value = randr_crtc->gammaRed[randrp->palette[i].red]; + for (shift = 0; (gamma_size << shift) < (1 << 16); shift++); + + gamma_slots = crtc->gamma_size / palette_red_size; + for (i = 0; i < palette_red_size; i++) { + value = palette[i].red; + if (gamma_red) + value = gamma_red[value]; + else + value <<= shift; for (j = 0; j < gamma_slots; j++) crtc->gamma_red[i * gamma_slots + j] = value; } - gamma_slots = crtc->gamma_size / randrp->palette_green_size; - for (i = 0; i < randrp->palette_green_size; i++) { - value = randr_crtc->gammaGreen[randrp->palette[i].green]; + gamma_slots = crtc->gamma_size / palette_green_size; + for (i = 0; i < palette_green_size; i++) { + value = palette[i].green; + if (gamma_green) + value = gamma_green[value]; + else + value <<= shift; for (j = 0; j < gamma_slots; j++) crtc->gamma_green[i * gamma_slots + j] = value; } - gamma_slots = crtc->gamma_size / randrp->palette_blue_size; - for (i = 0; i < randrp->palette_blue_size; i++) { - value = randr_crtc->gammaBlue[randrp->palette[i].blue]; + gamma_slots = crtc->gamma_size / palette_blue_size; + for (i = 0; i < palette_blue_size; i++) { + value = palette[i].blue; + if (gamma_blue) + value = gamma_blue[value]; + else + value <<= shift; for (j = 0; j < gamma_slots; j++) crtc->gamma_blue[i * gamma_slots + j] = value; @@ -1284,10 +1300,8 @@ } static void -xf86RandR12CrtcReloadGamma(RRCrtcPtr randr_crtc) +xf86RandR12CrtcReloadGamma(xf86CrtcPtr crtc) { - xf86CrtcPtr crtc = randr_crtc->devPrivate; - if (!crtc->scrn->vtSema || !crtc->funcs->gamma_set) return; @@ -1309,7 +1323,14 @@ return FALSE; if (randrp->palette_size) { - xf86RandR12CrtcComputeGamma(pScreen, randr_crtc); + xf86RandR12CrtcComputeGamma(crtc, randrp->palette, + randrp->palette_red_size, + randrp->palette_green_size, + randrp->palette_blue_size, + randr_crtc->gammaRed, + randr_crtc->gammaGreen, + randr_crtc->gammaBlue, + randr_crtc->gammaSize); } else { memcpy(crtc->gamma_red, randr_crtc->gammaRed, crtc->gamma_size * sizeof(crtc->gamma_red[0])); @@ -1319,7 +1340,7 @@ crtc->gamma_size * sizeof(crtc->gamma_blue[0])); } - xf86RandR12CrtcReloadGamma(randr_crtc); + xf86RandR12CrtcReloadGamma(crtc); return TRUE; } @@ -1394,6 +1415,13 @@ * different gamma */ if (gamma_red != 1.0 || gamma_green != 1.0 || gamma_blue != 1.0) { + if (!output->crtc->randr_crtc) { + xf86DrvMsg(output->scrn->scrnIndex, X_WARNING, + "Gamma correction for output %s not possible because " + "RandR is disabled\n", output->name); + return TRUE; + } + xf86DrvMsg(output->scrn->scrnIndex, X_INFO, "Output %s wants gamma correction (%.1f, %.1f, %.1f)\n", output->name, gamma_red, gamma_green, gamma_blue); @@ -1415,6 +1443,9 @@ for (c = 0; c < config->num_crtc; c++) { xf86CrtcPtr crtc = config->crtc[c]; + if (!crtc->randr_crtc) + continue; + if (!RRCrtcGammaSetSize(crtc->randr_crtc, gammaSize) || !xf86RandR12CrtcInitGamma(crtc, 1.0f, 1.0f, 1.0f)) return FALSE; @@ -1876,7 +1907,6 @@ LOCO *colors, VisualPtr pVisual) { ScreenPtr pScreen = pScrn->pScreen; - XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); int reds, greens, blues, index, palette_size; int c, i; @@ -1891,36 +1921,51 @@ palette_size = max(reds, max(greens, blues)); - if (randrp->palette_size != palette_size) { - randrp->palette = reallocarray(randrp->palette, palette_size, - sizeof(colors[0])); - if (!randrp->palette) { - randrp->palette_size = 0; - return; - } + if (dixPrivateKeyRegistered(rrPrivKey)) { + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); - randrp->palette_size = palette_size; - } - randrp->palette_red_size = reds; - randrp->palette_green_size = greens; - randrp->palette_blue_size = blues; - - for (i = 0; i < numColors; i++) { - index = indices[i]; - - if (index < reds) - randrp->palette[index].red = colors[index].red; - if (index < greens) - randrp->palette[index].green = colors[index].green; - if (index < blues) - randrp->palette[index].blue = colors[index].blue; + if (randrp->palette_size != palette_size) { + randrp->palette = reallocarray(randrp->palette, palette_size, + sizeof(colors[0])); + if (!randrp->palette) { + randrp->palette_size = 0; + return; + } + + randrp->palette_size = palette_size; + } + randrp->palette_red_size = reds; + randrp->palette_green_size = greens; + randrp->palette_blue_size = blues; + + for (i = 0; i < numColors; i++) { + index = indices[i]; + + if (index < reds) + randrp->palette[index].red = colors[index].red; + if (index < greens) + randrp->palette[index].green = colors[index].green; + if (index < blues) + randrp->palette[index].blue = colors[index].blue; + } } for (c = 0; c < config->num_crtc; c++) { - RRCrtcPtr randr_crtc = config->crtc[c]->randr_crtc; + xf86CrtcPtr crtc = config->crtc[c]; + RRCrtcPtr randr_crtc = crtc->randr_crtc; - xf86RandR12CrtcComputeGamma(pScreen, randr_crtc); - xf86RandR12CrtcReloadGamma(randr_crtc); + if (randr_crtc) { + xf86RandR12CrtcComputeGamma(crtc, colors, reds, greens, blues, + randr_crtc->gammaRed, + randr_crtc->gammaGreen, + randr_crtc->gammaBlue, + randr_crtc->gammaSize); + } else { + xf86RandR12CrtcComputeGamma(crtc, colors, reds, greens, blues, + NULL, NULL, NULL, + xf86GetGammaRampSize(pScreen)); + } + xf86RandR12CrtcReloadGamma(crtc); } } @@ -1973,7 +2018,7 @@ /* reload gamma */ for (i = 0; i < rp->numCrtcs; i++) - xf86RandR12CrtcReloadGamma(rp->crtcs[i]); + xf86RandR12CrtcReloadGamma(rp->crtcs[i]->devPrivate); return RRGetInfo(pScreen, TRUE); /* force a re-probe of outputs and notify clients about changes */ } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/bsd/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/bsd/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/bsd/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/bsd/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/bus/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/bus/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/bus/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/bus/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/hurd/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/hurd/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/hurd/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/hurd/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/linux/lnx_init.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/linux/lnx_init.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/linux/lnx_init.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/linux/lnx_init.c 2017-10-12 17:24:59.000000000 +0000 @@ -38,6 +38,9 @@ #include "xf86_OSlib.h" #include +#ifdef HAVE_SYS_SYSMACROS_H +#include +#endif #ifndef K_OFF #define K_OFF 0x4 diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/linux/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/linux/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/linux/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/linux/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/Makefile.in 2017-10-12 17:25:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/misc/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/misc/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/misc/Makefile.in 2017-03-15 18:05:43.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/misc/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/shared/posix_tty.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/shared/posix_tty.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/shared/posix_tty.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/shared/posix_tty.c 2017-10-12 17:24:59.000000000 +0000 @@ -394,6 +394,9 @@ poll_fd.fd = fd; poll_fd.events = POLLIN; + /* convert microseconds to milliseconds */ + timeout = (timeout + 999) / 1000; + if (fd >= 0) { SYSCALL(r = xserver_poll(&poll_fd, 1, timeout)); } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/solaris/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/solaris/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/solaris/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/solaris/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/stub/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/stub/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/os-support/stub/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/os-support/stub/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/parser/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/parser/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/parser/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/parser/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/parser/scan.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/parser/scan.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/parser/scan.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/parser/scan.c 2017-10-12 17:24:59.000000000 +0000 @@ -1046,6 +1046,8 @@ return 0; else return 1; + } else if (!s2 || *s2 == 0) { + return -1; } while (*s1 == '_' || *s1 == ' ' || *s1 == '\t') diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/ramdac/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/ramdac/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/ramdac/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/ramdac/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/shadowfb/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/shadowfb/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/shadowfb/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/shadowfb/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/cvt/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/cvt/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/cvt/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/cvt/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/gtf/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/gtf/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/gtf/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/gtf/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/utils/man/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/utils/man/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/vbe/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/vbe/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/vbe/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/vbe/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/vgahw/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/vgahw/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/vgahw/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/vgahw/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/x86emu/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/x86emu/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/x86emu/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/x86emu/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/Makefile.am xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/Makefile.am --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/Makefile.am 2017-10-12 17:24:59.000000000 +0000 @@ -0,0 +1,6 @@ +noinst_LTLIBRARIES = libxorgxkb.la + +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +AM_CPPFLAGS = @XORG_INCS@ + +libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -0,0 +1,833 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = hw/xfree86/xkb +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h \ + $(top_builddir)/include/version-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libxorgxkb_la_LIBADD = +am_libxorgxkb_la_OBJECTS = xkbVT.lo xkbPrivate.lo xkbKillSrv.lo +libxorgxkb_la_OBJECTS = $(am_libxorgxkb_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libxorgxkb_la_SOURCES) +DIST_SOURCES = $(libxorgxkb_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_CFLAGS = @BASE_CFLAGS@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@ +BUNDLE_VERSION = @BUNDLE_VERSION@ +BUNDLE_VERSION_STRING = @BUNDLE_VERSION_STRING@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGDIR = @DEFAULT_LOGDIR@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFAULT_XDG_DATA_HOME = @DEFAULT_XDG_DATA_HOME@ +DEFAULT_XDG_DATA_HOME_LOGDIR = @DEFAULT_XDG_DATA_HOME_LOGDIR@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DIX_LIB = @DIX_LIB@ +DLLTOOL = @DLLTOOL@ +DLOPEN_LIBS = @DLOPEN_LIBS@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DSYMUTIL = @DSYMUTIL@ +DTRACE = @DTRACE@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FONT100DPIDIR = @FONT100DPIDIR@ +FONT75DPIDIR = @FONT75DPIDIR@ +FONTMISCDIR = @FONTMISCDIR@ +FONTOTFDIR = @FONTOTFDIR@ +FONTROOTDIR = @FONTROOTDIR@ +FONTTTFDIR = @FONTTTFDIR@ +FONTTYPE1DIR = @FONTTYPE1DIR@ +FOP = @FOP@ +GBM_CFLAGS = @GBM_CFLAGS@ +GBM_LIBS = @GBM_LIBS@ +GLAMOR_CFLAGS = @GLAMOR_CFLAGS@ +GLAMOR_LIBS = @GLAMOR_LIBS@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +GLX_DEFINES = @GLX_DEFINES@ +GLX_SYS_LIBS = @GLX_SYS_LIBS@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ +INSTALL = @INSTALL@ +INSTALL_CMD = @INSTALL_CMD@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_MAIN_LIB = @KDRIVE_MAIN_LIB@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@ +KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@ +KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ +LIBSHA1_LIBS = @LIBSHA1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAIN_LIB = @MAIN_LIB@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_SUBSTS = @MAN_SUBSTS@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OS_LIB = @OS_LIB@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROJECTROOT = @PROJECTROOT@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYTHON3 = @PYTHON3@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RELEASE_DATE = @RELEASE_DATE@ +SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@ +SED = @SED@ +SELINUX_CFLAGS = @SELINUX_CFLAGS@ +SELINUX_LIBS = @SELINUX_LIBS@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHA1_CFLAGS = @SHA1_CFLAGS@ +SHA1_LIBS = @SHA1_LIBS@ +SHELL = @SHELL@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRICT_CFLAGS = @STRICT_CFLAGS@ +STRIP = @STRIP@ +STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ +SUID_WRAPPER_DIR = @SUID_WRAPPER_DIR@ +SYSCONFDIR = @SYSCONFDIR@ +SYSTEMD_DAEMON_CFLAGS = @SYSTEMD_DAEMON_CFLAGS@ +SYSTEMD_DAEMON_LIBS = @SYSTEMD_DAEMON_LIBS@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UDEV_CFLAGS = @UDEV_CFLAGS@ +UDEV_LIBS = @UDEV_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VERSION = @VERSION@ +WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@ +WAYLAND_SCANNER = @WAYLAND_SCANNER@ +WINDOWSDRI_CFLAGS = @WINDOWSDRI_CFLAGS@ +WINDOWSDRI_LIBS = @WINDOWSDRI_LIBS@ +WINDOWSWM_CFLAGS = @WINDOWSWM_CFLAGS@ +WINDOWSWM_LIBS = @WINDOWSWM_LIBS@ +WINDRES = @WINDRES@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_CFLAGS = @XDMX_CFLAGS@ +XDMX_LIBS = @XDMX_LIBS@ +XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XF86CONFIGDIR = @XF86CONFIGDIR@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@ +XKB_DFLT_MODEL = @XKB_DFLT_MODEL@ +XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@ +XKB_DFLT_RULES = @XKB_DFLT_RULES@ +XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XMLTO = @XMLTO@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ +XQUARTZ_LIBS = @XQUARTZ_LIBS@ +XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@ +XQUARTZ_SPARKLE_FEED_URL = @XQUARTZ_SPARKLE_FEED_URL@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ +XSLTPROC = @XSLTPROC@ +XSL_STYLESHEET = @XSL_STYLESHEET@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ +XWAYLANDMODULES_CFLAGS = @XWAYLANDMODULES_CFLAGS@ +XWAYLANDMODULES_LIBS = @XWAYLANDMODULES_LIBS@ +XWAYLAND_LIBS = @XWAYLAND_LIBS@ +XWAYLAND_SYS_LIBS = @XWAYLAND_SYS_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGDIR__ = @__XCONFIGDIR__@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +abi_videodrv = @abi_videodrv@ +abi_xinput = @abi_xinput@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +ax_pthread_config = @ax_pthread_config@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +symbol_visibility = @symbol_visibility@ +sysconfdir = @sysconfdir@ +sysconfigdir = @sysconfigdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_LTLIBRARIES = libxorgxkb.la +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +AM_CPPFLAGS = @XORG_INCS@ +libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/xkb/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/xfree86/xkb/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libxorgxkb.la: $(libxorgxkb_la_OBJECTS) $(libxorgxkb_la_DEPENDENCIES) $(EXTRA_libxorgxkb_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libxorgxkb_la_OBJECTS) $(libxorgxkb_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbKillSrv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbPrivate.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xkbVT.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/meson.build xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/meson.build --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/meson.build 2018-01-03 11:08:46.000000000 +0000 @@ -0,0 +1,12 @@ +srcs_xorg_xkb = [ + 'xkbVT.c', + 'xkbPrivate.c', + 'xkbKillSrv.c', +] + +xorg_xkb = static_library('xorg_xkb', + srcs_xorg_xkb, + include_directories: [inc, xorg_inc], + dependencies: common_dep, + c_args: xorg_c_args, +) diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbKillSrv.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbKillSrv.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbKillSrv.c 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbKillSrv.c 2017-10-12 17:24:59.000000000 +0000 @@ -0,0 +1,54 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include "inputstr.h" +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include + +#include "xf86.h" + +int +XkbDDXTerminateServer(DeviceIntPtr dev, KeyCode key, XkbAction *act) +{ + if (dev != inputInfo.keyboard) + xf86ProcessActionEvent(ACTION_TERMINATE, NULL); + + return 0; +} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbPrivate.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbPrivate.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbPrivate.c 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbPrivate.c 2017-10-12 17:24:59.000000000 +0000 @@ -0,0 +1,53 @@ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include +#include "windowstr.h" +#define XKBSRV_NEED_FILE_FUNCS +#include + +#include "dixgrabs.h" +#include "os.h" +#include "xf86.h" + +int +XkbDDXPrivate(DeviceIntPtr dev, KeyCode key, XkbAction *act) +{ + XkbAnyAction *xf86act = &(act->any); + char msgbuf[XkbAnyActionDataSize + 1]; + + if (xf86act->type == XkbSA_XFree86Private) { + memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize); + msgbuf[XkbAnyActionDataSize] = '\0'; + if (strcasecmp(msgbuf, "-vmode") == 0) + xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); + else if (strcasecmp(msgbuf, "+vmode") == 0) + xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); + else if (strcasecmp(msgbuf, "prgrbs") == 0) { + DeviceIntPtr tmp; + + xf86Msg(X_INFO, "Printing all currently active device grabs:\n"); + for (tmp = inputInfo.devices; tmp; tmp = tmp->next) + if (tmp->deviceGrab.grab) + PrintDeviceGrabInfo(tmp); + xf86Msg(X_INFO, "End list of active device grabs\n"); + + PrintPassiveGrabs(); + } + else if (strcasecmp(msgbuf, "ungrab") == 0) + UngrabAllDevices(FALSE); + else if (strcasecmp(msgbuf, "clsgrb") == 0) + UngrabAllDevices(TRUE); + else if (strcasecmp(msgbuf, "prwins") == 0) + PrintWindowTree(); + } + + return 0; +} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbVT.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbVT.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xkb/xkbVT.c 1970-01-01 00:00:00.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xkb/xkbVT.c 2017-10-12 17:24:59.000000000 +0000 @@ -0,0 +1,64 @@ +/************************************************************ +Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include "inputstr.h" +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include + +#include "xf86.h" + +int +XkbDDXSwitchScreen(DeviceIntPtr dev, KeyCode key, XkbAction *act) +{ + int scrnnum = XkbSAScreen(&act->screen); + + if (act->screen.flags & XkbSA_SwitchApplication) { + if (act->screen.flags & XkbSA_SwitchAbsolute) + xf86ProcessActionEvent(ACTION_SWITCHSCREEN, (void *) &scrnnum); + else { + if (scrnnum < 0) + xf86ProcessActionEvent(ACTION_SWITCHSCREEN_PREV, NULL); + else + xf86ProcessActionEvent(ACTION_SWITCHSCREEN_NEXT, NULL); + } + } + + return 1; +} diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xfree86/xorg-wrapper.c xorg-server-hwe-16.04-1.19.5/hw/xfree86/xorg-wrapper.c --- xorg-server-hwe-16.04-1.19.3/hw/xfree86/xorg-wrapper.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xfree86/xorg-wrapper.c 2017-10-12 17:24:59.000000000 +0000 @@ -35,6 +35,9 @@ #include #include #include +#ifdef HAVE_SYS_SYSMACROS_H +#include +#endif #include #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xnest/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xnest/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xnest/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xnest/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xnest/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xnest/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xnest/man/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xnest/man/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/bundle/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/bundle/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/bundle/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/bundle/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/GL/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/GL/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/GL/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/GL/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/mach-startup/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/mach-startup/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/mach-startup/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/mach-startup/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/Makefile.in 2017-10-12 17:25:18.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/man/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/man/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/pbproxy/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/pbproxy/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/pbproxy/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/pbproxy/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/quartz.c xorg-server-hwe-16.04-1.19.5/hw/xquartz/quartz.c --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/quartz.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/quartz.c 2017-10-12 17:24:59.000000000 +0000 @@ -178,6 +178,7 @@ { /* For XQuartz, we want to just use the default signal handler to work better with CrashTracer */ signal(SIGSEGV, SIG_DFL); + signal(SIGABRT, SIG_DFL); signal(SIGILL, SIG_DFL); #ifdef SIGEMT signal(SIGEMT, SIG_DFL); diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xquartz/xpr/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xquartz/xpr/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xquartz/xpr/Makefile.in 2017-03-15 18:05:44.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xquartz/xpr/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwayland/drm.xml xorg-server-hwe-16.04-1.19.5/hw/xwayland/drm.xml --- xorg-server-hwe-16.04-1.19.3/hw/xwayland/drm.xml 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwayland/drm.xml 2017-10-12 17:24:59.000000000 +0000 @@ -135,22 +135,6 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwayland/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwayland/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwayland/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwayland/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland.c xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland.c --- xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland.c 2017-10-12 17:24:59.000000000 +0000 @@ -175,11 +175,31 @@ struct xwl_screen *xwl_screen = xwl_screen_get(screen); struct xwl_seat *xwl_seat = device->public.devicePrivate; struct xwl_window *xwl_window; + WindowPtr focus; if (!xwl_seat) xwl_seat = xwl_screen_get_default_seat(xwl_screen); xwl_window = xwl_window_from_window(window); + if (!xwl_window && xwl_seat->focus_window) { + focus = xwl_seat->focus_window->window; + + /* Warps on non wl_surface backed Windows are only allowed + * as long as the pointer stays within the focus window. + */ + if (x >= focus->drawable.x && + y >= focus->drawable.y && + x < focus->drawable.x + focus->drawable.width && + y < focus->drawable.y + focus->drawable.height) { + if (!window) { + DebugF("Warp relative to pointer, assuming pointer focus\n"); + xwl_window = xwl_seat->focus_window; + } else if (window == screen->root) { + DebugF("Warp on root window, assuming pointer focus\n"); + xwl_window = xwl_seat->focus_window; + } + } + } if (!xwl_window) return; @@ -204,6 +224,15 @@ } xwl_window = xwl_window_from_window(window); + if (!xwl_window && xwl_seat->focus_window) { + /* Allow confining on InputOnly windows, but only if the geometry + * is the same than the focus window. + */ + if (window->drawable.class == InputOnly) { + DebugF("Confine on InputOnly window, assuming pointer focus\n"); + xwl_window = xwl_seat->focus_window; + } + } if (!xwl_window) return; @@ -305,9 +334,11 @@ screen->RealizeWindow = xwl_realize_window; if (xwl_screen->rootless && !window->parent) { + BoxRec box = { 0, 0, xwl_screen->width, xwl_screen->height }; + + RegionReset(&window->winSize, &box); RegionNull(&window->clipList); RegionNull(&window->borderClip); - RegionNull(&window->winSize); } if (xwl_screen->rootless) { @@ -880,8 +911,9 @@ screen_info->bitmapBitOrder = BITMAP_BIT_ORDER; screen_info->numPixmapFormats = ARRAY_SIZE(depths); - LoadExtensionList(xwayland_extensions, - ARRAY_SIZE(xwayland_extensions), FALSE); + if (serverGeneration == 1) + LoadExtensionList(xwayland_extensions, + ARRAY_SIZE(xwayland_extensions), FALSE); /* Cast away warning from missing printf annotation for * wl_log_func_t. Wayland 1.5 will have the annotation, so we can diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland-input.c xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland-input.c --- xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland-input.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland-input.c 2017-10-12 17:24:59.000000000 +0000 @@ -1524,11 +1524,38 @@ x, y); } +static Bool +xwl_seat_maybe_lock_on_hidden_cursor(struct xwl_seat *xwl_seat) +{ + /* Some clients use hidden cursor+confineTo+relative motion + * to implement infinite panning (eg. 3D views), lock the + * pointer for so the relative pointer is used. + */ + if (xwl_seat->x_cursor || + !xwl_seat->cursor_confinement_window) + return FALSE; + + if (!xwl_seat->focus_window) + return FALSE; + + if (xwl_seat->confined_pointer) + xwl_seat_destroy_confined_pointer(xwl_seat); + + xwl_seat_create_pointer_warp_emulator(xwl_seat); + xwl_pointer_warp_emulator_lock(xwl_seat->pointer_warp_emulator); + return TRUE; +} + void xwl_seat_cursor_visibility_changed(struct xwl_seat *xwl_seat) { - if (xwl_seat->pointer_warp_emulator && xwl_seat->x_cursor != NULL) + if (xwl_seat->pointer_warp_emulator && xwl_seat->x_cursor != NULL) { xwl_seat_destroy_pointer_warp_emulator(xwl_seat); + } else if (!xwl_seat->x_cursor && xwl_seat->cursor_confinement_window) { + /* If the cursor goes hidden as is confined, lock it for + * relative motion to work. */ + xwl_seat_maybe_lock_on_hidden_cursor(xwl_seat); + } } void @@ -1567,6 +1594,9 @@ if (xwl_seat->pointer_warp_emulator) return; + if (xwl_seat_maybe_lock_on_hidden_cursor(xwl_seat)) + return; + xwl_seat->confined_pointer = zwp_pointer_constraints_v1_confine_pointer(pointer_constraints, xwl_window->surface, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland-output.c xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland-output.c --- xorg-server-hwe-16.04-1.19.3/hw/xwayland/xwayland-output.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwayland/xwayland-output.c 2017-10-12 17:24:59.000000000 +0000 @@ -187,8 +187,11 @@ SetRootClip(xwl_screen->screen, xwl_screen->root_clip_mode); if (xwl_screen->screen->root) { + BoxRec box = { 0, 0, width, height }; + xwl_screen->screen->root->drawable.width = width; xwl_screen->screen->root->drawable.height = height; + RegionReset(&xwl_screen->screen->root->winSize, &box); RRScreenSizeNotify(xwl_screen->screen); } diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/dri/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwin/dri/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwin/dri/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/dri/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/glx/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwin/glx/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwin/glx/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/glx/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwin/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwin/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/man/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwin/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwin/man/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/man/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/winclipboard/Makefile.in xorg-server-hwe-16.04-1.19.5/hw/xwin/winclipboard/Makefile.in --- xorg-server-hwe-16.04-1.19.3/hw/xwin/winclipboard/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/winclipboard/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/hw/xwin/winprefslex.c xorg-server-hwe-16.04-1.19.5/hw/xwin/winprefslex.c --- xorg-server-hwe-16.04-1.19.3/hw/xwin/winprefslex.c 2017-03-15 18:06:13.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/hw/xwin/winprefslex.c 2017-10-12 17:25:40.000000000 +0000 @@ -8,7 +8,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -87,25 +87,13 @@ #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif /* Returned upon end-of-file. */ @@ -166,7 +154,7 @@ typedef size_t yy_size_t; #endif -extern yy_size_t yyleng; +extern int yyleng; extern FILE *yyin, *yyout; @@ -224,12 +212,12 @@ /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -280,7 +268,7 @@ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general @@ -299,11 +287,11 @@ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -328,7 +316,7 @@ YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); @@ -362,7 +350,7 @@ typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +FILE *yyin = NULL, *yyout = NULL; typedef int yy_state_type; @@ -379,17 +367,14 @@ static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif -static void yy_fatal_error (yyconst char msg[] ); +static void yynoreturn yy_fatal_error (yyconst char* msg ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; @@ -712,7 +697,7 @@ } #define YY_NO_INPUT 1 -#line 716 "winprefslex.c" +#line 701 "winprefslex.c" #define INITIAL 0 @@ -751,7 +736,7 @@ void yyset_out (FILE * _out_str ); -yy_size_t yyget_leng (void ); + int yyget_leng (void ); char *yyget_text (void ); @@ -808,7 +793,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -819,7 +804,7 @@ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -832,7 +817,7 @@ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -930,7 +915,7 @@ { #line 63 "winprefslex.l" -#line 934 "winprefslex.c" +#line 919 "winprefslex.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -960,7 +945,7 @@ if ( yy_current_state >= 195 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } while ( yy_current_state != 194 ); @@ -1169,7 +1154,7 @@ #line 100 "winprefslex.l" ECHO; YY_BREAK -#line 1173 "winprefslex.c" +#line 1158 "winprefslex.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1371,7 +1356,7 @@ if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1380,11 +1365,11 @@ b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc((void *) b->yy_ch_buf,(yy_size_t) (b->yy_buf_size + 2) ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1426,10 +1411,10 @@ else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,(yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } @@ -1466,7 +1451,7 @@ if ( yy_current_state >= 195 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; } return yy_current_state; @@ -1494,7 +1479,7 @@ if ( yy_current_state >= 195 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 194); return yy_is_jam ? 0 : yy_current_state; @@ -1528,7 +1513,7 @@ else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -1552,7 +1537,7 @@ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return EOF; + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -1658,12 +1643,12 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = (yy_size_t)size; + b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc((yy_size_t) (b->yy_buf_size + 2) ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -1805,7 +1790,7 @@ */ static void yyensure_buffer_stack (void) { - yy_size_t num_to_alloc; + int num_to_alloc; if (!(yy_buffer_stack)) { @@ -1860,16 +1845,16 @@ base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -1892,7 +1877,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { - return yy_scan_bytes(yystr,strlen(yystr) ); + return yy_scan_bytes(yystr,(int) strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will @@ -1902,7 +1887,7 @@ * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; @@ -1910,7 +1895,7 @@ yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); @@ -1936,7 +1921,7 @@ #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg ) +static void yynoreturn yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); @@ -1989,7 +1974,7 @@ /** Get the length of the current token. * */ -yy_size_t yyget_leng (void) +int yyget_leng (void) { return yyleng; } @@ -2048,10 +2033,10 @@ /* We do not touch yylineno unless the option is enabled. */ yylineno = 1; - (yy_buffer_stack) = 0; + (yy_buffer_stack) = NULL; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; + (yy_c_buf_p) = NULL; (yy_init) = 0; (yy_start) = 0; @@ -2060,8 +2045,8 @@ yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -2119,7 +2104,7 @@ void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return malloc(size); } void *yyrealloc (void * ptr, yy_size_t size ) @@ -2132,7 +2117,7 @@ * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } void yyfree (void * ptr ) diff -Nru xorg-server-hwe-16.04-1.19.3/include/do-not-use-config.h.in xorg-server-hwe-16.04-1.19.5/include/do-not-use-config.h.in --- xorg-server-hwe-16.04-1.19.3/include/do-not-use-config.h.in 2017-03-15 18:05:40.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/include/do-not-use-config.h.in 2017-10-12 17:25:14.000000000 +0000 @@ -391,6 +391,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SYSMACROS_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H diff -Nru xorg-server-hwe-16.04-1.19.3/include/Makefile.in xorg-server-hwe-16.04-1.19.5/include/Makefile.in --- xorg-server-hwe-16.04-1.19.3/include/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/include/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/include/xorg-config.h.in xorg-server-hwe-16.04-1.19.5/include/xorg-config.h.in --- xorg-server-hwe-16.04-1.19.3/include/xorg-config.h.in 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/include/xorg-config.h.in 2017-10-12 17:24:59.000000000 +0000 @@ -124,6 +124,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MKDEV_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SYSMACROS_H + /* Path to text files containing PCI IDs */ #undef PCI_TXT_IDS_PATH diff -Nru xorg-server-hwe-16.04-1.19.3/install-sh xorg-server-hwe-16.04-1.19.5/install-sh --- xorg-server-hwe-16.04-1.19.3/install-sh 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/install-sh 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2013-12-25.23; # UTC +scriptversion=2016-01-11.22; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -496,6 +496,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru xorg-server-hwe-16.04-1.19.3/Makefile.in xorg-server-hwe-16.04-1.19.5/Makefile.in --- xorg-server-hwe-16.04-1.19.3/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/man/Makefile.in xorg-server-hwe-16.04-1.19.5/man/Makefile.in --- xorg-server-hwe-16.04-1.19.3/man/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/man/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/mi/Makefile.in xorg-server-hwe-16.04-1.19.5/mi/Makefile.in --- xorg-server-hwe-16.04-1.19.3/mi/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/mi/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/miext/damage/Makefile.in xorg-server-hwe-16.04-1.19.5/miext/damage/Makefile.in --- xorg-server-hwe-16.04-1.19.3/miext/damage/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/miext/damage/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/miext/Makefile.in xorg-server-hwe-16.04-1.19.5/miext/Makefile.in --- xorg-server-hwe-16.04-1.19.3/miext/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/miext/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/miext/rootless/Makefile.in xorg-server-hwe-16.04-1.19.5/miext/rootless/Makefile.in --- xorg-server-hwe-16.04-1.19.3/miext/rootless/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/miext/rootless/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/miext/shadow/Makefile.in xorg-server-hwe-16.04-1.19.5/miext/shadow/Makefile.in --- xorg-server-hwe-16.04-1.19.3/miext/shadow/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/miext/shadow/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/miext/sync/Makefile.in xorg-server-hwe-16.04-1.19.5/miext/sync/Makefile.in --- xorg-server-hwe-16.04-1.19.3/miext/sync/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/miext/sync/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/missing xorg-server-hwe-16.04-1.19.5/missing --- xorg-server-hwe-16.04-1.19.3/missing 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/missing 2017-10-12 17:25:15.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -210,6 +210,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru xorg-server-hwe-16.04-1.19.3/os/io.c xorg-server-hwe-16.04-1.19.5/os/io.c --- xorg-server-hwe-16.04-1.19.3/os/io.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/os/io.c 2017-10-12 17:24:59.000000000 +0000 @@ -441,6 +441,11 @@ if (!gotnow) AvailableInput = oc; if (move_header) { + if (client->req_len < bytes_to_int32(sizeof(xBigReq) - sizeof(xReq))) { + YieldControlDeath(); + return -1; + } + request = (xReq *) oci->bufptr; oci->bufptr += (sizeof(xBigReq) - sizeof(xReq)); *(xReq *) oci->bufptr = *request; @@ -634,6 +639,28 @@ } /***************** + * AbortClient: + * When a write error occurs to a client, close + * the connection and clean things up. Mark + * the client as 'ready' so that the server will + * try to read from it again, notice that the fd is + * closed and clean up from there. + *****************/ + +static void +AbortClient(ClientPtr client) +{ + OsCommPtr oc = client->osPrivate; + + if (oc->trans_conn) { + _XSERVTransDisconnect(oc->trans_conn); + _XSERVTransClose(oc->trans_conn); + oc->trans_conn = NULL; + mark_client_ready(client); + } +} + +/***************** * WriteToClient * Copies buf into ClientPtr.buf if it fits (with padding), else * flushes ClientPtr.buf and buf to client. As of this writing, @@ -708,11 +735,7 @@ FreeOutputs = oco->next; } else if (!(oco = AllocateOutputBuffer())) { - if (oc->trans_conn) { - _XSERVTransDisconnect(oc->trans_conn); - _XSERVTransClose(oc->trans_conn); - oc->trans_conn = NULL; - } + AbortClient(who); MarkClientException(who); return -1; } @@ -893,9 +916,7 @@ obuf = realloc(oco->buf, notWritten + BUFSIZE); } if (!obuf) { - _XSERVTransDisconnect(oc->trans_conn); - _XSERVTransClose(oc->trans_conn); - oc->trans_conn = NULL; + AbortClient(who); MarkClientException(who); oco->count = 0; return -1; @@ -922,11 +943,7 @@ } #endif else { - if (oc->trans_conn) { - _XSERVTransDisconnect(oc->trans_conn); - _XSERVTransClose(oc->trans_conn); - oc->trans_conn = NULL; - } + AbortClient(who); MarkClientException(who); oco->count = 0; return -1; diff -Nru xorg-server-hwe-16.04-1.19.3/os/Makefile.in xorg-server-hwe-16.04-1.19.5/os/Makefile.in --- xorg-server-hwe-16.04-1.19.3/os/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/os/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/os/osinit.c xorg-server-hwe-16.04-1.19.5/os/osinit.c --- xorg-server-hwe-16.04-1.19.3/os/osinit.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/os/osinit.c 2017-10-12 17:24:59.000000000 +0000 @@ -173,6 +173,7 @@ int i; int siglist[] = { SIGSEGV, SIGQUIT, SIGILL, SIGFPE, SIGBUS, + SIGABRT, SIGSYS, SIGXCPU, SIGXFSZ, diff -Nru xorg-server-hwe-16.04-1.19.3/os/utils.c xorg-server-hwe-16.04-1.19.5/os/utils.c --- xorg-server-hwe-16.04-1.19.3/os/utils.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/os/utils.c 2017-10-12 17:24:59.000000000 +0000 @@ -318,7 +318,7 @@ } if (lfd < 0) FatalError("Could not create lock file in %s\n", tmp); - snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long) getpid()); + snprintf(pid_str, sizeof(pid_str), "%10lu\n", (unsigned long) getpid()); if (write(lfd, pid_str, 11) != 11) FatalError("Could not write pid to lock file in %s\n", tmp); (void) fchmod(lfd, 0444); @@ -1352,6 +1352,12 @@ #ifndef __APPLE__ OsBlockSignals(); #endif +#if !defined(WIN32) || defined(__CYGWIN__) + /* abort() raises SIGABRT, so we have to stop handling that to prevent + * recursion + */ + OsSignal(SIGABRT, SIG_DFL); +#endif abort(); } diff -Nru xorg-server-hwe-16.04-1.19.3/present/Makefile.in xorg-server-hwe-16.04-1.19.5/present/Makefile.in --- xorg-server-hwe-16.04-1.19.3/present/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/present/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/present/present.c xorg-server-hwe-16.04-1.19.5/present/present.c --- xorg-server-hwe-16.04-1.19.3/present/present.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/present/present.c 2017-10-12 17:24:59.000000000 +0000 @@ -543,8 +543,6 @@ present_execute(vblank, ust, msc); return; } - if (match < 0) - break; } xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) { if (vblank->event_id == event_id) { @@ -1007,8 +1005,6 @@ vblank->queued = FALSE; return; } - if (match < 0) - break; } xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) { if (vblank->event_id == event_id) { diff -Nru xorg-server-hwe-16.04-1.19.3/pseudoramiX/Makefile.in xorg-server-hwe-16.04-1.19.5/pseudoramiX/Makefile.in --- xorg-server-hwe-16.04-1.19.3/pseudoramiX/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/pseudoramiX/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/pseudoramiX/pseudoramiX.c xorg-server-hwe-16.04-1.19.5/pseudoramiX/pseudoramiX.c --- xorg-server-hwe-16.04-1.19.3/pseudoramiX/pseudoramiX.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/pseudoramiX/pseudoramiX.c 2017-10-12 17:24:59.000000000 +0000 @@ -297,10 +297,11 @@ TRACE; + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + if (stuff->screen >= pseudoramiXNumScreens) return BadMatch; - REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) return rc; diff -Nru xorg-server-hwe-16.04-1.19.3/randr/Makefile.in xorg-server-hwe-16.04-1.19.5/randr/Makefile.in --- xorg-server-hwe-16.04-1.19.3/randr/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/randr/Makefile.in 2017-10-12 17:25:19.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/randr/rrcrtc.c xorg-server-hwe-16.04-1.19.5/randr/rrcrtc.c --- xorg-server-hwe-16.04-1.19.3/randr/rrcrtc.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/randr/rrcrtc.c 2017-10-12 17:24:59.000000000 +0000 @@ -843,9 +843,8 @@ Bool RRCrtcPendingTransform(RRCrtcPtr crtc) { - return memcmp(&crtc->client_current_transform.transform, - &crtc->client_pending_transform.transform, - sizeof(PictTransform)) != 0; + return !RRTransformEqual(&crtc->client_current_transform, + &crtc->client_pending_transform); } /* diff -Nru xorg-server-hwe-16.04-1.19.3/record/Makefile.in xorg-server-hwe-16.04-1.19.5/record/Makefile.in --- xorg-server-hwe-16.04-1.19.3/record/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/record/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/record/record.c xorg-server-hwe-16.04-1.19.5/record/record.c --- xorg-server-hwe-16.04-1.19.3/record/record.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/record/record.c 2017-10-12 17:24:59.000000000 +0000 @@ -1910,7 +1910,8 @@ int i; REQUEST_AT_LEAST_SIZE(xRecordUnregisterClientsReq); - if ((client->req_len << 2) - SIZEOF(xRecordUnregisterClientsReq) != + if (INT_MAX / 4 < stuff->nClients || + (client->req_len << 2) - SIZEOF(xRecordUnregisterClientsReq) != 4 * stuff->nClients) return BadLength; VERIFY_CONTEXT(pContext, stuff->context, client); diff -Nru xorg-server-hwe-16.04-1.19.3/render/Makefile.in xorg-server-hwe-16.04-1.19.5/render/Makefile.in --- xorg-server-hwe-16.04-1.19.3/render/Makefile.in 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/render/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/render/render.c xorg-server-hwe-16.04-1.19.5/render/render.c --- xorg-server-hwe-16.04-1.19.3/render/render.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/render/render.c 2017-10-12 17:24:59.000000000 +0000 @@ -1757,6 +1757,9 @@ name = (char *) (stuff + 1); params = (xFixed *) (name + pad_to_int32(stuff->nbytes)); nparams = ((xFixed *) stuff + client->req_len) - params; + if (nparams < 0) + return BadLength; + result = SetPictureFilter(pPicture, name, stuff->nbytes, params, nparams); return result; } diff -Nru xorg-server-hwe-16.04-1.19.3/test/Makefile.am xorg-server-hwe-16.04-1.19.5/test/Makefile.am --- xorg-server-hwe-16.04-1.19.3/test/Makefile.am 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test/Makefile.am 2017-10-12 17:24:59.000000000 +0000 @@ -81,7 +81,7 @@ $(top_builddir)/hw/xfree86/ramdac/libramdac.la \ $(top_builddir)/hw/xfree86/ddc/libddc.la \ $(top_builddir)/hw/xfree86/i2c/libi2c.la \ - $(top_builddir)/hw/xfree86/dixmods/libxorgxkb.la \ + $(top_builddir)/hw/xfree86/xkb/libxorgxkb.la \ $(top_builddir)/Xext/libXvidmode.la \ @XORG_LIBS@ diff -Nru xorg-server-hwe-16.04-1.19.3/test/Makefile.in xorg-server-hwe-16.04-1.19.5/test/Makefile.in --- xorg-server-hwe-16.04-1.19.3/test/Makefile.in 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -113,7 +113,7 @@ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/ramdac/libramdac.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/ddc/libddc.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/i2c/libi2c.la \ -@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/dixmods/libxorgxkb.la \ +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/xkb/libxorgxkb.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/Xext/libXvidmode.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ @XORG_LIBS@ @@ -190,7 +190,7 @@ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/ramdac/libramdac.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/ddc/libddc.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/i2c/libi2c.la \ -@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/dixmods/libxorgxkb.la \ +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/hw/xfree86/xkb/libxorgxkb.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ $(top_builddir)/Xext/libXvidmode.la @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@nodist_libxservertest_la_OBJECTS = \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ ddxstubs.lo miinitext.lo diff -Nru xorg-server-hwe-16.04-1.19.3/test/signal-logging.c xorg-server-hwe-16.04-1.19.5/test/signal-logging.c --- xorg-server-hwe-16.04-1.19.3/test/signal-logging.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test/signal-logging.c 2017-10-12 17:24:59.000000000 +0000 @@ -177,7 +177,7 @@ strcpy(&buf[sizeof(buf) - 4], "end"); LogInit(log_file_path, NULL); - assert(f = fopen(log_file_path, "r")); + assert((f = fopen(log_file_path, "r"))); #define read_log_msg(msg) do { \ msg = fgets(read_buf, sizeof(read_buf), f); \ diff -Nru xorg-server-hwe-16.04-1.19.3/test/xi1/Makefile.in xorg-server-hwe-16.04-1.19.5/test/xi1/Makefile.in --- xorg-server-hwe-16.04-1.19.3/test/xi1/Makefile.in 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test/xi1/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/test/xi2/Makefile.in xorg-server-hwe-16.04-1.19.5/test/xi2/Makefile.in --- xorg-server-hwe-16.04-1.19.3/test/xi2/Makefile.in 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test/xi2/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/test-driver xorg-server-hwe-16.04-1.19.5/test-driver --- xorg-server-hwe-16.04-1.19.3/test-driver 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/test-driver 2017-10-12 17:25:20.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2013-07-13.22; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 2011-2014 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -143,6 +143,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/Makefile.in xorg-server-hwe-16.04-1.19.5/Xext/Makefile.in --- xorg-server-hwe-16.04-1.19.3/Xext/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/panoramiX.c xorg-server-hwe-16.04-1.19.5/Xext/panoramiX.c --- xorg-server-hwe-16.04-1.19.3/Xext/panoramiX.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/panoramiX.c 2017-10-12 17:24:59.000000000 +0000 @@ -988,10 +988,11 @@ xPanoramiXGetScreenSizeReply rep; int rc; + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + if (stuff->screen >= PanoramiXNumScreens) return BadMatch; - REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) return rc; diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/panoramiXprocs.c xorg-server-hwe-16.04-1.19.5/Xext/panoramiXprocs.c --- xorg-server-hwe-16.04-1.19.3/Xext/panoramiXprocs.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/panoramiXprocs.c 2017-10-12 17:24:59.000000000 +0000 @@ -1050,7 +1050,7 @@ int PanoramiXCopyArea(ClientPtr client) { - int j, result, srcx, srcy, dstx, dsty; + int j, result, srcx, srcy, dstx, dsty, width, height; PanoramiXRes *gc, *src, *dst; Bool srcIsRoot = FALSE; Bool dstIsRoot = FALSE; @@ -1091,6 +1091,8 @@ srcy = stuff->srcY; dstx = stuff->dstX; dsty = stuff->dstY; + width = stuff->width; + height = stuff->height; if ((dst->type == XRT_PIXMAP) && (src->type == XRT_WINDOW)) { DrawablePtr drawables[MAXSCREENS]; DrawablePtr pDst; @@ -1105,13 +1107,12 @@ return rc; } - pitch = PixmapBytePad(stuff->width, drawables[0]->depth); - if (!(data = calloc(stuff->height, pitch))) + pitch = PixmapBytePad(width, drawables[0]->depth); + if (!(data = calloc(height, pitch))) return BadAlloc; - XineramaGetImageData(drawables, srcx, srcy, - stuff->width, stuff->height, ZPixmap, ~0, data, - pitch, srcIsRoot); + XineramaGetImageData(drawables, srcx, srcy, width, height, ZPixmap, ~0, + data, pitch, srcIsRoot); FOR_NSCREENS_BACKWARD(j) { stuff->gc = gc->info[j].id; @@ -1123,14 +1124,63 @@ } (*pGC->ops->PutImage) (pDst, pGC, pDst->depth, dstx, dsty, - stuff->width, stuff->height, - 0, ZPixmap, data); - + width, height, 0, ZPixmap, data); if (dstShared) break; } - free(data); + + if (pGC->graphicsExposures) { + RegionRec rgn; + int dx, dy; + BoxRec sourceBox; + + dx = drawables[0]->x; + dy = drawables[0]->y; + if (srcIsRoot) { + dx += screenInfo.screens[0]->x; + dy += screenInfo.screens[0]->y; + } + + sourceBox.x1 = min(srcx + dx, 0); + sourceBox.y1 = min(srcy + dy, 0); + sourceBox.x2 = max(sourceBox.x1 + width, 32767); + sourceBox.y2 = max(sourceBox.y1 + height, 32767); + + RegionInit(&rgn, &sourceBox, 1); + + /* subtract the (screen-space) clips of the source drawables */ + FOR_NSCREENS(j) { + ScreenPtr screen = screenInfo.screens[j]; + RegionPtr sd; + + if (pGC->subWindowMode == IncludeInferiors) + sd = NotClippedByChildren((WindowPtr)drawables[j]); + else + sd = &((WindowPtr)drawables[j])->clipList; + + if (srcIsRoot) + RegionTranslate(&rgn, -screen->x, -screen->y); + + RegionSubtract(&rgn, &rgn, sd); + + if (srcIsRoot) + RegionTranslate(&rgn, screen->x, screen->y); + + if (pGC->subWindowMode == IncludeInferiors) + RegionDestroy(sd); + } + + /* -dx/-dy to get back to dest-relative, plus request offsets */ + RegionTranslate(&rgn, -dx + dstx, -dy + dsty); + + /* intersect with gc clip; just one screen is fine because pixmap */ + RegionIntersect(&rgn, &rgn, pGC->pCompositeClip); + + /* and expose */ + SendGraphicsExpose(client, &rgn, dst->info[0].id, X_CopyArea, 0); + RegionUninit(&rgn); + } } else { DrawablePtr pDst = NULL, pSrc = NULL; diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/saver.c xorg-server-hwe-16.04-1.19.5/Xext/saver.c --- xorg-server-hwe-16.04-1.19.3/Xext/saver.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/saver.c 2017-10-12 17:24:59.000000000 +0000 @@ -1185,6 +1185,8 @@ PanoramiXRes *draw; int rc, i; + REQUEST_SIZE_MATCH(xScreenSaverUnsetAttributesReq); + rc = dixLookupResourceByClass((void **) &draw, stuff->drawable, XRC_DRAWABLE, client, DixWriteAccess); if (rc != Success) diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/shm.c xorg-server-hwe-16.04-1.19.5/Xext/shm.c --- xorg-server-hwe-16.04-1.19.3/Xext/shm.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/shm.c 2017-10-12 17:24:59.000000000 +0000 @@ -1238,6 +1238,7 @@ }; REQUEST_SIZE_MATCH(xShmCreateSegmentReq); + LEGAL_NEW_RESOURCE(stuff->shmseg, client); if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) { client->errorValue = stuff->readOnly; return BadValue; diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/vidmode.c xorg-server-hwe-16.04-1.19.5/Xext/vidmode.c --- xorg-server-hwe-16.04-1.19.3/Xext/vidmode.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/vidmode.c 2017-10-12 17:24:59.000000000 +0000 @@ -454,6 +454,20 @@ DEBUG_P("XF86VidModeAddModeline"); ver = ClientMajorVersion(client); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); + } + else { + REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); + } + if (ver < 2) { /* convert from old format */ stuff = &newstuff; @@ -501,18 +515,6 @@ stuff->after_vsyncend, stuff->after_vtotal, (unsigned long) stuff->after_flags); - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq)); - } - else { - REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq)); - } if (len != stuff->privsize) return BadLength; @@ -622,6 +624,20 @@ DEBUG_P("XF86VidModeDeleteModeline"); ver = ClientMajorVersion(client); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); + } + else { + REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); + } + if (ver < 2) { /* convert from old format */ stuff = &newstuff; @@ -649,18 +665,6 @@ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, (unsigned long) stuff->flags); - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq)); - } - else { - REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); - } if (len != stuff->privsize) { DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, " "len = %d, length = %d\n", @@ -744,6 +748,20 @@ DEBUG_P("XF86VidModeModModeline"); ver = ClientMajorVersion(client); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); + } + else { + REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); + } + if (ver < 2) { /* convert from old format */ stuff = &newstuff; @@ -768,18 +786,6 @@ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, (unsigned long) stuff->flags); - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq)); - } - else { - REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86VidModeModModeLineReq)); - } if (len != stuff->privsize) return BadLength; @@ -877,6 +883,19 @@ DEBUG_P("XF86VidModeValidateModeline"); ver = ClientMajorVersion(client); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); + len = client->req_len - + bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); + } + else { + REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); + } + if (ver < 2) { /* convert from old format */ stuff = &newstuff; @@ -905,17 +924,6 @@ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, (unsigned long) stuff->flags); - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); - len = client->req_len - - bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq)); - } - else { - REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq)); - } if (len != stuff->privsize) return BadLength; @@ -1027,6 +1035,20 @@ DEBUG_P("XF86VidModeSwitchToMode"); ver = ClientMajorVersion(client); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); + } + else { + REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); + len = + client->req_len - + bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); + } + if (ver < 2) { /* convert from old format */ stuff = &newstuff; @@ -1055,18 +1077,6 @@ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, (unsigned long) stuff->flags); - if (ver < 2) { - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq)); - } - else { - REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq); - len = - client->req_len - - bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq)); - } if (len != stuff->privsize) return BadLength; @@ -1457,6 +1467,7 @@ VidModePtr pVidMode; REQUEST(xXF86VidModeSetGammaRampReq); + REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq); if (stuff->screen >= screenInfo.numScreens) return BadValue; diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/xres.c xorg-server-hwe-16.04-1.19.5/Xext/xres.c --- xorg-server-hwe-16.04-1.19.3/Xext/xres.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/xres.c 2017-10-12 17:24:59.000000000 +0000 @@ -947,6 +947,8 @@ ConstructResourceBytesCtx ctx; REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); + if (stuff->numSpecs > UINT32_MAX / sizeof(ctx.specs[0])) + return BadLength; REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, stuff->numSpecs * sizeof(ctx.specs[0])); @@ -1052,8 +1054,8 @@ int c; xXResResourceIdSpec *specs = (void*) ((char*) stuff + sizeof(*stuff)); - swapl(&stuff->numSpecs); REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq); + swapl(&stuff->numSpecs); REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq, stuff->numSpecs * sizeof(specs[0])); diff -Nru xorg-server-hwe-16.04-1.19.3/Xext/xvdisp.c xorg-server-hwe-16.04-1.19.5/Xext/xvdisp.c --- xorg-server-hwe-16.04-1.19.3/Xext/xvdisp.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xext/xvdisp.c 2017-10-12 17:24:59.000000000 +0000 @@ -1493,12 +1493,14 @@ { REQUEST(xvShmPutImageReq); PanoramiXRes *draw, *gc, *port; - Bool send_event = stuff->send_event; + Bool send_event; Bool isRoot; int result, i, x, y; REQUEST_SIZE_MATCH(xvShmPutImageReq); + send_event = stuff->send_event; + result = dixLookupResourceByClass((void **) &draw, stuff->drawable, XRC_DRAWABLE, client, DixWriteAccess); if (result != Success) diff -Nru xorg-server-hwe-16.04-1.19.3/xfixes/cursor.c xorg-server-hwe-16.04-1.19.5/xfixes/cursor.c --- xorg-server-hwe-16.04-1.19.3/xfixes/cursor.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xfixes/cursor.c 2017-10-12 17:24:59.000000000 +0000 @@ -281,6 +281,7 @@ SProcXFixesSelectCursorInput(ClientPtr client) { REQUEST(xXFixesSelectCursorInputReq); + REQUEST_SIZE_MATCH(xXFixesSelectCursorInputReq); swaps(&stuff->length); swapl(&stuff->window); @@ -414,7 +415,7 @@ REQUEST(xXFixesSetCursorNameReq); Atom atom; - REQUEST_AT_LEAST_SIZE(xXFixesSetCursorNameReq); + REQUEST_FIXED_SIZE(xXFixesSetCursorNameReq, stuff->nbytes); VERIFY_CURSOR(pCursor, stuff->cursor, client, DixSetAttrAccess); tchar = (char *) &stuff[1]; atom = MakeAtom(tchar, stuff->nbytes, TRUE); @@ -1007,6 +1008,8 @@ int i; CARD16 *in_devices = (CARD16 *) &stuff[1]; + REQUEST_AT_LEAST_SIZE(xXFixesCreatePointerBarrierReq); + swaps(&stuff->length); swaps(&stuff->num_devices); REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); diff -Nru xorg-server-hwe-16.04-1.19.3/xfixes/Makefile.in xorg-server-hwe-16.04-1.19.5/xfixes/Makefile.in --- xorg-server-hwe-16.04-1.19.3/xfixes/Makefile.in 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xfixes/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/xfixes/region.c xorg-server-hwe-16.04-1.19.5/xfixes/region.c --- xorg-server-hwe-16.04-1.19.3/xfixes/region.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xfixes/region.c 2017-10-12 17:24:59.000000000 +0000 @@ -359,6 +359,7 @@ RegionPtr pSource, pDestination; REQUEST(xXFixesCopyRegionReq); + REQUEST_SIZE_MATCH(xXFixesCopyRegionReq); VERIFY_REGION(pSource, stuff->source, client, DixReadAccess); VERIFY_REGION(pDestination, stuff->destination, client, DixWriteAccess); @@ -375,7 +376,7 @@ REQUEST(xXFixesCopyRegionReq); swaps(&stuff->length); - REQUEST_AT_LEAST_SIZE(xXFixesCopyRegionReq); + REQUEST_SIZE_MATCH(xXFixesCopyRegionReq); swapl(&stuff->source); swapl(&stuff->destination); return (*ProcXFixesVector[stuff->xfixesReqType]) (client); diff -Nru xorg-server-hwe-16.04-1.19.3/xfixes/saveset.c xorg-server-hwe-16.04-1.19.5/xfixes/saveset.c --- xorg-server-hwe-16.04-1.19.3/xfixes/saveset.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xfixes/saveset.c 2017-10-12 17:24:59.000000000 +0000 @@ -62,6 +62,7 @@ SProcXFixesChangeSaveSet(ClientPtr client) { REQUEST(xXFixesChangeSaveSetReq); + REQUEST_SIZE_MATCH(xXFixesChangeSaveSetReq); swaps(&stuff->length); swapl(&stuff->window); diff -Nru xorg-server-hwe-16.04-1.19.3/xfixes/xfixes.c xorg-server-hwe-16.04-1.19.5/xfixes/xfixes.c --- xorg-server-hwe-16.04-1.19.3/xfixes/xfixes.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xfixes/xfixes.c 2017-10-12 17:24:59.000000000 +0000 @@ -160,6 +160,7 @@ SProcXFixesQueryVersion(ClientPtr client) { REQUEST(xXFixesQueryVersionReq); + REQUEST_SIZE_MATCH(xXFixesQueryVersionReq); swaps(&stuff->length); swapl(&stuff->majorVersion); diff -Nru xorg-server-hwe-16.04-1.19.3/Xi/Makefile.in xorg-server-hwe-16.04-1.19.5/Xi/Makefile.in --- xorg-server-hwe-16.04-1.19.3/Xi/Makefile.in 2017-03-15 18:05:41.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xi/Makefile.in 2017-10-12 17:25:15.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/Xi/sendexev.c xorg-server-hwe-16.04-1.19.5/Xi/sendexev.c --- xorg-server-hwe-16.04-1.19.3/Xi/sendexev.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xi/sendexev.c 2017-10-12 17:24:59.000000000 +0000 @@ -78,7 +78,7 @@ { CARD32 *p; int i; - xEvent eventT; + xEvent eventT = { .u.u.type = 0 }; xEvent *eventP; EventSwapPtr proc; @@ -95,9 +95,17 @@ eventP = (xEvent *) &stuff[1]; for (i = 0; i < stuff->num_events; i++, eventP++) { + if (eventP->u.u.type == GenericEvent) { + client->errorValue = eventP->u.u.type; + return BadValue; + } + proc = EventSwapVector[eventP->u.u.type & 0177]; - if (proc == NotImplemented) /* no swapping proc; invalid event type? */ + /* no swapping proc; invalid event type? */ + if (proc == NotImplemented) { + client->errorValue = eventP->u.u.type; return BadValue; + } (*proc) (eventP, &eventT); *eventP = eventT; } @@ -117,7 +125,7 @@ int ProcXSendExtensionEvent(ClientPtr client) { - int ret; + int ret, i; DeviceIntPtr dev; xEvent *first; XEventClass *list; @@ -141,10 +149,12 @@ /* The client's event type must be one defined by an extension. */ first = ((xEvent *) &stuff[1]); - if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && - (first->u.u.type < lastEvent))) { - client->errorValue = first->u.u.type; - return BadValue; + for (i = 0; i < stuff->num_events; i++) { + if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && + (first[i].u.u.type < lastEvent))) { + client->errorValue = first[i].u.u.type; + return BadValue; + } } list = (XEventClass *) (first + stuff->num_events); diff -Nru xorg-server-hwe-16.04-1.19.3/Xi/xibarriers.c xorg-server-hwe-16.04-1.19.5/Xi/xibarriers.c --- xorg-server-hwe-16.04-1.19.3/Xi/xibarriers.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xi/xibarriers.c 2017-10-12 17:24:59.000000000 +0000 @@ -830,10 +830,15 @@ REQUEST(xXIBarrierReleasePointerReq); int i; - info = (xXIBarrierReleasePointerInfo*) &stuff[1]; - swaps(&stuff->length); + REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); + swapl(&stuff->num_barriers); + if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) + return BadLength; + REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); + + info = (xXIBarrierReleasePointerInfo*) &stuff[1]; for (i = 0; i < stuff->num_barriers; i++, info++) { swaps(&info->deviceid); swapl(&info->barrier); @@ -854,6 +859,9 @@ REQUEST(xXIBarrierReleasePointerReq); REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq); + if (stuff->num_barriers > UINT32_MAX / sizeof(xXIBarrierReleasePointerInfo)) + return BadLength; + REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * sizeof(xXIBarrierReleasePointerInfo)); info = (xXIBarrierReleasePointerInfo*) &stuff[1]; for (i = 0; i < stuff->num_barriers; i++, info++) { diff -Nru xorg-server-hwe-16.04-1.19.3/Xi/xichangehierarchy.c xorg-server-hwe-16.04-1.19.5/Xi/xichangehierarchy.c --- xorg-server-hwe-16.04-1.19.3/Xi/xichangehierarchy.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xi/xichangehierarchy.c 2017-10-12 17:24:59.000000000 +0000 @@ -423,7 +423,7 @@ if (!stuff->num_changes) return rc; - len = ((size_t)stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo); + len = ((size_t)stuff->length << 2) - sizeof(xXIChangeHierarchyReq); any = (xXIAnyHierarchyChangeInfo *) &stuff[1]; while (stuff->num_changes--) { diff -Nru xorg-server-hwe-16.04-1.19.3/Xi/xiwarppointer.c xorg-server-hwe-16.04-1.19.5/Xi/xiwarppointer.c --- xorg-server-hwe-16.04-1.19.3/Xi/xiwarppointer.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/Xi/xiwarppointer.c 2017-10-12 17:24:59.000000000 +0000 @@ -186,6 +186,10 @@ pDev->last.valuators[1] = y; miPointerUpdateSprite(pDev); + if (*newScreen->CursorWarpedTo) + (*newScreen->CursorWarpedTo) (pDev, newScreen, client, + dest, pSprite, x, y); + /* FIXME: XWarpPointer is supposed to generate an event. It doesn't do it here though. */ return Success; diff -Nru xorg-server-hwe-16.04-1.19.3/xkb/Makefile.in xorg-server-hwe-16.04-1.19.5/xkb/Makefile.in --- xorg-server-hwe-16.04-1.19.3/xkb/Makefile.in 2017-03-15 18:05:46.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xkb/Makefile.in 2017-10-12 17:25:20.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru xorg-server-hwe-16.04-1.19.3/xkb/xkbtext.c xorg-server-hwe-16.04-1.19.5/xkb/xkbtext.c --- xorg-server-hwe-16.04-1.19.3/xkb/xkbtext.c 2017-03-15 18:05:25.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/xkb/xkbtext.c 2017-10-12 17:24:59.000000000 +0000 @@ -47,23 +47,27 @@ /***====================================================================***/ -#define BUFFER_SIZE 512 - -static char textBuffer[BUFFER_SIZE]; -static int tbNext = 0; +#define NUM_BUFFER 8 +static struct textBuffer { + int size; + char *buffer; +} textBuffer[NUM_BUFFER]; +static int textBufferIndex; static char * tbGetBuffer(unsigned size) { - char *rtrn; + struct textBuffer *tb; - if (size >= BUFFER_SIZE) - return NULL; - if ((BUFFER_SIZE - tbNext) <= size) - tbNext = 0; - rtrn = &textBuffer[tbNext]; - tbNext += size; - return rtrn; + tb = &textBuffer[textBufferIndex]; + textBufferIndex = (textBufferIndex + 1) % NUM_BUFFER; + + if (size > tb->size) { + free(tb->buffer); + tb->buffer = xnfalloc(size); + tb->size = size; + } + return tb->buffer; } /***====================================================================***/ @@ -79,8 +83,6 @@ int len; len = strlen(atmstr) + 1; - if (len > BUFFER_SIZE) - len = BUFFER_SIZE - 2; rtrn = tbGetBuffer(len); strlcpy(rtrn, atmstr, len); } @@ -128,8 +130,6 @@ len = strlen(tmp) + 1; if (format == XkbCFile) len += 4; - if (len >= BUFFER_SIZE) - len = BUFFER_SIZE - 1; rtrn = tbGetBuffer(len); if (format == XkbCFile) { strcpy(rtrn, "vmod_"); @@ -140,6 +140,8 @@ return rtrn; } +#define VMOD_BUFFER_SIZE 512 + char * XkbVModMaskText(XkbDescPtr xkb, unsigned modMask, unsigned mask, unsigned format) @@ -147,7 +149,7 @@ register int i, bit; int len; char *mm, *rtrn; - char *str, buf[BUFFER_SIZE]; + char *str, buf[VMOD_BUFFER_SIZE]; if ((modMask == 0) && (mask == 0)) { rtrn = tbGetBuffer(5); @@ -173,7 +175,7 @@ len = strlen(tmp) + 1 + (str == buf ? 0 : 1); if (format == XkbCFile) len += 4; - if ((str - (buf + len)) <= BUFFER_SIZE) { + if ((str - (buf + len)) <= VMOD_BUFFER_SIZE) { if (str != buf) { if (format == XkbCFile) *str++ = '|'; @@ -199,8 +201,6 @@ len = 0; if (str) len += strlen(str) + (mm == NULL ? 0 : 1); - if (len >= BUFFER_SIZE) - len = BUFFER_SIZE - 1; rtrn = tbGetBuffer(len + 1); rtrn[0] = '\0'; @@ -603,7 +603,7 @@ } else { *out++ = '0'; - sprintf(out, "%o", *in); + sprintf(out, "%o", (unsigned char) *in); while (*out != '\0') out++; } diff -Nru xorg-server-hwe-16.04-1.19.3/ylwrap xorg-server-hwe-16.04-1.19.5/ylwrap --- xorg-server-hwe-16.04-1.19.3/ylwrap 2017-03-15 18:05:45.000000000 +0000 +++ xorg-server-hwe-16.04-1.19.5/ylwrap 2017-10-12 17:25:19.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. -scriptversion=2013-01-12.17; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # Written by Tom Tromey . # @@ -242,6 +242,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: