xorg-server: Changes to 'debian-unstable'
ChangeLog | 303 ++++++++++
Xext/saver.c | 2
configure.ac | 5
debian/changelog | 10
debian/local/xvfb-run | 1
debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff | 50 -
debian/patches/08-config-xorg-conf-d.diff | 76 +-
debian/patches/17-xfree86-saner-conf-search-paths.diff | 66 +-
dix/eventconvert.c | 1
dix/events.c | 36 +
dix/extension.c | 5
glx/glxcmdsswap.c | 8
hw/kdrive/linux/evdev.c | 2
hw/xfree86/common/xf86Init.c | 2
hw/xfree86/ramdac/xf86Cursor.c | 7
hw/xquartz/GL/indirect.c | 2
hw/xquartz/X11Application.m | 25
hw/xquartz/pbproxy/Makefile.am | 6
hw/xquartz/pbproxy/app-main.m | 12
hw/xquartz/pbproxy/main.m | 43 -
hw/xquartz/pbproxy/pbproxy.h | 3
hw/xquartz/pbproxy/x-input.m | 100 +--
hw/xquartz/quartz.c | 26
hw/xquartz/quartzKeyboard.c | 5
render/glyph.c | 3
test/input.c | 4
xkb/xkbUtils.c | 2
27 files changed, 589 insertions(+), 216 deletions(-)
New commits:
commit 60c3eb119c5ffe759401f98bcea0ae395c96295d
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Apr 16 19:30:42 2010 +0200
xvfb-run: don't rely on /tmp/X$i-lock to bump $SERVERNUM in auto-servernum mode
Closes: #577195. Thanks, Jozef Kutej!
diff --git a/debian/changelog b/debian/changelog
index dc946d9..b22a6a5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,8 @@ xorg-server (2:1.7.6.901-1) UNRELEASED; urgency=low
* Make xserver-xorg-core provide ABI-versioned virtual packages for drivers
to depend on. This is a first step in making our ABI handling saner (see
#573371).
+ * xvfb-run: don't rely on /tmp/X$i-lock to bump $SERVERNUM in auto-servernum
+ mode (closes: #577195). Thanks, Jozef Kutej!
[ Timo Aaltonen ]
* Add 17-xfree86-saner-conf-search-paths.diff. Allows using another
diff --git a/debian/local/xvfb-run b/debian/local/xvfb-run
index cec120c..c48ab37 100644
--- a/debian/local/xvfb-run
+++ b/debian/local/xvfb-run
@@ -168,6 +168,7 @@ EOF
break
elif [ -n "$AUTONUM" ]; then
# The display is in use so try another one (if '-a' was specified).
+ SERVERNUM=$((SERVERNUM + 1))
SERVERNUM=$(find_free_servernum)
continue
fi
commit 70fb9bc82aa33b3b9084d7c0ef7836ac529173f9
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Apr 16 19:28:39 2010 +0200
Add bug closer
diff --git a/debian/changelog b/debian/changelog
index de1a504..dc946d9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
xorg-server (2:1.7.6.901-1) UNRELEASED; urgency=low
* New upstream release candidate.
+ - Fix crash when all glyphs of a given depth are freed, but not all
+ glyphsets (closes: #568533)
[ Cyril Brulebois ]
* Steal patch 112_xaa-fbcomposite-fix-negative-size.patch from ubuntu,
commit 531151ea530a6cdfd2e2b343b6f321bffed22762
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Apr 16 19:03:24 2010 +0200
Refresh patches
diff --git a/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
index 77f548e..6f8e18a 100644
--- a/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
+++ b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
@@ -10,11 +10,11 @@ Support is also added for libnettle.
Signed-off-by: Cyril Brulebois <kibi@debian.org>
---
-diff --git a/configure.ac b/configure.ac
-index c215b5c..e688f94 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1285,26 +1285,66 @@ MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
+Index: xorg-server/configure.ac
+===================================================================
+--- xorg-server.orig/configure.ac
++++ xorg-server/configure.ac
+@@ -1286,26 +1286,66 @@
MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
@@ -26,7 +26,14 @@ index c215b5c..e688f94 100644
- AC_CHECK_LIB([md], [SHA1Init], [SHA1_LIB="-lmd"
- AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
- [Use libmd SHA1 functions instead of OpenSSL libcrypto])])
--fi
++# SHA1 hashing
++AC_ARG_WITH([sha1],
++ [AS_HELP_STRING([--with-sha1=libmd|libgcrypt|libcrypto|libnettle],
++ [choose SHA1 implementation])])
++AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
++if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
++ with_sha1=libmd
+ fi
-
-if test "x$SHA1_LIB" = "x" ; then
- PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
@@ -37,14 +44,6 @@ index c215b5c..e688f94 100644
- AC_CHECK_LIB([crypto], [SHA1_Init], [SHA1_LIB="-lcrypto"],
- [AC_MSG_ERROR([OpenSSL must be installed in order to build the X server.])])
- fi
-+# SHA1 hashing
-+AC_ARG_WITH([sha1],
-+ [AS_HELP_STRING([--with-sha1=libmd|libgcrypt|libcrypto|libnettle],
-+ [choose SHA1 implementation])])
-+AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
-+if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
-+ with_sha1=libmd
-+fi
+if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
+ AC_MSG_ERROR([libmd requested but not found])
+fi
@@ -100,7 +99,7 @@ index c215b5c..e688f94 100644
PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
-@@ -1326,7 +1366,7 @@ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
+@@ -1327,7 +1367,7 @@
#
XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS} ${SHA1_CFLAGS}"
XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB"
@@ -109,10 +108,10 @@ index c215b5c..e688f94 100644
AC_SUBST([XSERVER_LIBS])
AC_SUBST([XSERVER_SYS_LIBS])
-diff --git a/include/dix-config.h.in b/include/dix-config.h.in
-index 6e450b6..782da4f 100644
---- a/include/dix-config.h.in
-+++ b/include/dix-config.h.in
+Index: xorg-server/include/dix-config.h.in
+===================================================================
+--- xorg-server.orig/include/dix-config.h.in
++++ xorg-server/include/dix-config.h.in
@@ -163,6 +163,12 @@
/* Define to use libmd SHA1 functions instead of OpenSSL libcrypto */
#undef HAVE_SHA1_IN_LIBMD
@@ -126,10 +125,10 @@ index 6e450b6..782da4f 100644
/* Define to 1 if you have the `shmctl64' function. */
#undef HAVE_SHMCTL64
-diff --git a/render/glyph.c b/render/glyph.c
-index 7fcdfd9..37e80ec 100644
---- a/render/glyph.c
-+++ b/render/glyph.c
+Index: xorg-server/render/glyph.c
+===================================================================
+--- xorg-server.orig/render/glyph.c
++++ xorg-server/render/glyph.c
@@ -28,6 +28,10 @@
#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */
@@ -141,7 +140,7 @@ index 7fcdfd9..37e80ec 100644
#else /* Use OpenSSL's libcrypto */
# include <stddef.h> /* buggy openssl/sha.h wants size_t */
# include <openssl/sha.h>
-@@ -205,6 +209,33 @@ HashGlyph (xGlyphInfo *gi,
+@@ -205,6 +209,33 @@
SHA1Update (&ctx, gi, sizeof (xGlyphInfo));
SHA1Update (&ctx, bits, size);
SHA1Final (sha1, &ctx);
@@ -175,6 +174,3 @@ index 7fcdfd9..37e80ec 100644
#else /* Use OpenSSL's libcrypto */
SHA_CTX ctx;
int success;
---
-1.7.0
-
diff --git a/debian/patches/08-config-xorg-conf-d.diff b/debian/patches/08-config-xorg-conf-d.diff
index cf70c92..eddd8b0 100644
--- a/debian/patches/08-config-xorg-conf-d.diff
+++ b/debian/patches/08-config-xorg-conf-d.diff
@@ -6,9 +6,9 @@ Subject: Merge remote branch 'dbn/xorg.conf.d'
---
Index: xorg-server/configure.ac
===================================================================
---- xorg-server.orig/configure.ac 2010-03-24 13:05:51.000000000 +0200
-+++ xorg-server/configure.ac 2010-03-24 13:05:51.000000000 +0200
-@@ -1696,6 +1696,7 @@
+--- xorg-server.orig/configure.ac
++++ xorg-server/configure.ac
+@@ -1697,6 +1697,7 @@
dnl these only go in xorg-config.h
XF86CONFIGFILE="xorg.conf"
@@ -16,7 +16,7 @@ Index: xorg-server/configure.ac
CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
LOGPREFIX="$logdir/Xorg."
AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
-@@ -1708,6 +1709,7 @@
+@@ -1709,6 +1710,7 @@
AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
@@ -26,8 +26,8 @@ Index: xorg-server/configure.ac
AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
Index: xorg-server/cpprules.in
===================================================================
---- xorg-server.orig/cpprules.in 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/cpprules.in 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/cpprules.in
++++ xorg-server/cpprules.in
@@ -36,7 +36,8 @@
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__mandir__=$(mandir) \
@@ -40,8 +40,8 @@ Index: xorg-server/cpprules.in
-D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME)
Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c
++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c
@@ -272,7 +272,8 @@
for (cp = builtinConfig; *cp; cp++)
xf86ErrorFVerb(3, "\t%s", *cp);
@@ -54,8 +54,8 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
FreeConfig();
Index: xorg-server/hw/xfree86/common/xf86Config.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/common/xf86Config.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c
++++ xorg-server/hw/xfree86/common/xf86Config.c
@@ -95,6 +95,23 @@
"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
"%P/lib/X11/%X"
@@ -302,8 +302,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c
}
Index: xorg-server/hw/xfree86/common/xf86Globals.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Globals.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/common/xf86Globals.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/common/xf86Globals.c
++++ xorg-server/hw/xfree86/common/xf86Globals.c
@@ -143,6 +143,7 @@
#endif
};
@@ -314,9 +314,9 @@ Index: xorg-server/hw/xfree86/common/xf86Globals.c
const char *xf86LogFile = DEFAULT_LOGPREFIX;
Index: xorg-server/hw/xfree86/common/xf86Init.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Init.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/common/xf86Init.c 2010-03-24 13:05:51.000000000 +0200
-@@ -1373,6 +1373,19 @@
+--- xorg-server.orig/hw/xfree86/common/xf86Init.c
++++ xorg-server/hw/xfree86/common/xf86Init.c
+@@ -1375,6 +1375,19 @@
xf86ConfigFile = argv[i + 1];
return 2;
}
@@ -336,7 +336,7 @@ Index: xorg-server/hw/xfree86/common/xf86Init.c
if (!strcmp(argv[i],"-flipPixels"))
{
xf86FlipPixels = TRUE;
-@@ -1656,6 +1669,8 @@
+@@ -1658,6 +1671,8 @@
}
ErrorF("-config file specify a configuration file, relative to the\n");
ErrorF(" "__XCONFIGFILE__" search path, only root can use absolute\n");
@@ -347,8 +347,8 @@ Index: xorg-server/hw/xfree86/common/xf86Init.c
ErrorF("-quiet minimal startup messages\n");
Index: xorg-server/hw/xfree86/common/xf86Priv.h
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Priv.h 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/common/xf86Priv.h 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/common/xf86Priv.h
++++ xorg-server/hw/xfree86/common/xf86Priv.h
@@ -46,6 +46,7 @@
* The global state of these things is held in xf86InfoRec (when appropriate).
*/
@@ -359,8 +359,8 @@ Index: xorg-server/hw/xfree86/common/xf86Priv.h
extern _X_EXPORT Bool xf86VidModeDisabled;
Index: xorg-server/hw/xfree86/doc/man/Xorg.man.pre
===================================================================
---- xorg-server.orig/hw/xfree86/doc/man/Xorg.man.pre 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/doc/man/Xorg.man.pre 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/doc/man/Xorg.man.pre
++++ xorg-server/hw/xfree86/doc/man/Xorg.man.pre
@@ -109,7 +109,7 @@
.B __xservername__
supports several mechanisms for supplying/obtaining configuration and
@@ -439,8 +439,8 @@ Index: xorg-server/hw/xfree86/doc/man/Xorg.man.pre
.IR n .
Index: xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre
===================================================================
---- xorg-server.orig/hw/xfree86/doc/man/xorg.conf.man.pre 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/doc/man/xorg.conf.man.pre
++++ xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -2,27 +2,35 @@
.ds q \N'34'
.TH __xconfigfile__ __filemansuffix__ __vendorversion__
@@ -533,8 +533,8 @@ Index: xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre
.B SendCoreEvents
Index: xorg-server/hw/xfree86/parser/Layout.c
===================================================================
---- xorg-server.orig/hw/xfree86/parser/Layout.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/parser/Layout.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/parser/Layout.c
++++ xorg-server/hw/xfree86/parser/Layout.c
@@ -64,6 +64,10 @@
#include "Configint.h"
#include <string.h>
@@ -644,8 +644,8 @@ Index: xorg-server/hw/xfree86/parser/Layout.c
return (TRUE);
Index: xorg-server/hw/xfree86/parser/scan.c
===================================================================
---- xorg-server.orig/hw/xfree86/parser/scan.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/parser/scan.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/parser/scan.c
++++ xorg-server/hw/xfree86/parser/scan.c
@@ -62,8 +62,11 @@
#include <stdio.h>
#include <stdlib.h>
@@ -1101,8 +1101,8 @@ Index: xorg-server/hw/xfree86/parser/scan.c
va_end (ap);
Index: xorg-server/hw/xfree86/parser/xf86Parser.h
===================================================================
---- xorg-server.orig/hw/xfree86/parser/xf86Parser.h 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xfree86/parser/xf86Parser.h 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xfree86/parser/xf86Parser.h
++++ xorg-server/hw/xfree86/parser/xf86Parser.h
@@ -456,13 +456,16 @@
/*
* prototypes for public functions
@@ -1137,8 +1137,8 @@ Index: xorg-server/hw/xfree86/parser/xf86Parser.h
extern _X_EXPORT int xf86itemNotSublist(GenericListPtr list_1, GenericListPtr list_2);
Index: xorg-server/hw/xwin/InitOutput.c
===================================================================
---- xorg-server.orig/hw/xwin/InitOutput.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xwin/InitOutput.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xwin/InitOutput.c
++++ xorg-server/hw/xwin/InitOutput.c
@@ -851,6 +851,9 @@
ErrorF ("-config\n"
"\tSpecify a configuration file.\n");
@@ -1151,8 +1151,8 @@ Index: xorg-server/hw/xwin/InitOutput.c
#endif
Index: xorg-server/hw/xwin/winconfig.c
===================================================================
---- xorg-server.orig/hw/xwin/winconfig.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xwin/winconfig.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xwin/winconfig.c
++++ xorg-server/hw/xwin/winconfig.c
@@ -50,6 +50,13 @@
"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
"%P/lib/X11/%X"
@@ -1232,8 +1232,8 @@ Index: xorg-server/hw/xwin/winconfig.c
if ((g_xf86configptr = xf86readConfigFile ()) == NULL)
Index: xorg-server/hw/xwin/winconfig.h
===================================================================
---- xorg-server.orig/hw/xwin/winconfig.h 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xwin/winconfig.h 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xwin/winconfig.h
++++ xorg-server/hw/xwin/winconfig.h
@@ -188,6 +188,7 @@
/* Files */
#ifdef XWIN_XF86CONFIG
@@ -1244,8 +1244,8 @@ Index: xorg-server/hw/xwin/winconfig.h
/* input devices - keyboard */
Index: xorg-server/hw/xwin/winprocarg.c
===================================================================
---- xorg-server.orig/hw/xwin/winprocarg.c 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/hw/xwin/winprocarg.c 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/hw/xwin/winprocarg.c
++++ xorg-server/hw/xwin/winprocarg.c
@@ -1318,6 +1318,24 @@
}
@@ -1273,8 +1273,8 @@ Index: xorg-server/hw/xwin/winprocarg.c
if (IS_OPTION ("-keyboard"))
Index: xorg-server/include/xorg-config.h.in
===================================================================
---- xorg-server.orig/include/xorg-config.h.in 2010-03-24 13:01:50.000000000 +0200
-+++ xorg-server/include/xorg-config.h.in 2010-03-24 13:05:51.000000000 +0200
+--- xorg-server.orig/include/xorg-config.h.in
++++ xorg-server/include/xorg-config.h.in
@@ -36,6 +36,9 @@
/* Path to configuration file. */
#undef __XCONFIGFILE__
diff --git a/debian/patches/17-xfree86-saner-conf-search-paths.diff b/debian/patches/17-xfree86-saner-conf-search-paths.diff
index c76c943..b6ef2b5 100644
--- a/debian/patches/17-xfree86-saner-conf-search-paths.diff
+++ b/debian/patches/17-xfree86-saner-conf-search-paths.diff
@@ -5,9 +5,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
59f96734633fce3c2bee62bce860aed33033ce3e
0c4a358eae0e77f389380bbbf39d4419f2dd6dcd
---- a/hw/xfree86/parser/Makefile.am
-+++ b/hw/xfree86/parser/Makefile.am
-@@ -34,7 +34,9 @@ libxf86config_a_SOURCES = \
+Index: xorg-server/hw/xfree86/parser/Makefile.am
+===================================================================
+--- xorg-server.orig/hw/xfree86/parser/Makefile.am
++++ xorg-server/hw/xfree86/parser/Makefile.am
+@@ -34,7 +34,9 @@
$(INTERNAL_SOURCES)
libxf86config_a_CFLAGS = $(AM_CFLAGS)
@@ -18,9 +20,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
EXTRA_DIST = \
Configint.h \
---- a/hw/xfree86/parser/scan.c
-+++ b/hw/xfree86/parser/scan.c
-@@ -599,6 +599,8 @@ xf86pathIsSafe(const char *path)
+Index: xorg-server/hw/xfree86/parser/scan.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/parser/scan.c
++++ xorg-server/hw/xfree86/parser/scan.c
+@@ -599,6 +599,8 @@
* %F config file environment ($XORGCONFIG) as a relative path
* %G config file environment ($XORGCONFIG) as a safe path
* %P projroot
@@ -29,7 +33,7 @@ a4516965de447332794ee0afb9503c351fff6fe8
* %M major version number
* %% %
*/
-@@ -615,6 +617,12 @@ xf86pathIsSafe(const char *path)
+@@ -615,6 +617,12 @@
#ifndef PROJECTROOT
#define PROJECTROOT "/usr/X11R6"
#endif
@@ -42,7 +46,7 @@ a4516965de447332794ee0afb9503c351fff6fe8
#ifndef XCONFENV
#define XCONFENV "XORGCONFIG"
#endif
-@@ -755,6 +763,12 @@ DoSubstitution(const char *template, con
+@@ -755,6 +763,12 @@
else
BAIL_OUT;
break;
@@ -55,9 +59,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
case 'M':
if (!majorvers[0]) {
if (XF86_VERSION_MAJOR < 0 || XF86_VERSION_MAJOR > 99) {
---- a/hw/xfree86/doc/man/xorg.conf.man.pre
-+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
-@@ -102,19 +102,51 @@ is the machine's hostname as reported by
+Index: xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre
+===================================================================
+--- xorg-server.orig/hw/xfree86/doc/man/xorg.conf.man.pre
++++ xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre
+@@ -102,19 +102,51 @@
.BR gethostname (__libmansuffix__).
.PP
Additional configuration files are searched for in the following
@@ -118,9 +124,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
.fi
.RE
.PP
---- a/configure.ac
-+++ b/configure.ac
-@@ -1743,8 +1743,10 @@ if test "x$XORG" = xyes; then
+Index: xorg-server/configure.ac
+===================================================================
+--- xorg-server.orig/configure.ac
++++ xorg-server/configure.ac
+@@ -1744,8 +1744,10 @@
AC_SUBST([driverdir])
sdkdir="$includedir/xorg"
extdir="$includedir/X11/extensions"
@@ -131,9 +139,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
AC_SUBST([logdir])
# stuff the ABI versions into the pc file too
---- a/hw/xfree86/common/xf86Config.c
-+++ b/hw/xfree86/common/xf86Config.c
-@@ -97,20 +97,15 @@ extern DeviceAssocRec mouse_assoc;
+Index: xorg-server/hw/xfree86/common/xf86Config.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c
++++ xorg-server/hw/xfree86/common/xf86Config.c
+@@ -97,20 +97,15 @@
#endif
#ifndef ROOT_CONFIGDIRPATH
#define ROOT_CONFIGDIRPATH "%A," "%R," \
@@ -161,7 +171,7 @@ a4516965de447332794ee0afb9503c351fff6fe8
#endif
#ifndef PROJECTROOT
#define PROJECTROOT "/usr/X11R6"
-@@ -2468,7 +2463,7 @@ checkInput(serverLayoutPtr layout, Bool
+@@ -2468,7 +2463,7 @@
ConfigStatus
xf86HandleConfigFile(Bool autoconfig)
{
@@ -170,7 +180,7 @@ a4516965de447332794ee0afb9503c351fff6fe8
char *filesearch, *dirsearch;
MessageType filefrom = X_DEFAULT;
MessageType dirfrom = X_DEFAULT;
-@@ -2491,6 +2486,8 @@ xf86HandleConfigFile(Bool autoconfig)
+@@ -2491,6 +2486,8 @@
dirfrom = X_CMDLINE;
xf86initConfigFiles();
@@ -179,7 +189,7 @@ a4516965de447332794ee0afb9503c351fff6fe8
dirname = xf86openConfigDirFiles(dirsearch, xf86ConfigDir, PROJECTROOT);
filename = xf86openConfigFile(filesearch, xf86ConfigFile, PROJECTROOT);
if (filename) {
-@@ -2511,7 +2508,10 @@ xf86HandleConfigFile(Bool autoconfig)
+@@ -2511,7 +2508,10 @@
"Unable to locate/open config directory: \"%s\"\n",
xf86ConfigDir);
}
@@ -191,9 +201,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
return CONFIG_NOFILE;
}
---- a/xorg-server.pc.in
-+++ b/xorg-server.pc.in
-@@ -2,8 +2,10 @@ prefix=@prefix@
+Index: xorg-server/xorg-server.pc.in
+===================================================================
+--- xorg-server.orig/xorg-server.pc.in
++++ xorg-server/xorg-server.pc.in
+@@ -2,8 +2,10 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
@@ -204,9 +216,11 @@ a4516965de447332794ee0afb9503c351fff6fe8
abi_ansic=@abi_ansic@
abi_videodrv=@abi_videodrv@
---- a/cpprules.in
-+++ b/cpprules.in
-@@ -36,6 +36,7 @@ MANDEFS = \
+Index: xorg-server/cpprules.in
+===================================================================
+--- xorg-server.orig/cpprules.in
++++ xorg-server/cpprules.in
+@@ -36,6 +36,7 @@
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__mandir__=$(mandir) \
-D__projectroot__=$(prefix) \
commit a63a834c92ef4010dc7d3a9ffadf9ce28d8a6163
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Apr 16 19:01:51 2010 +0200
Bump changelogs
diff --git a/ChangeLog b/ChangeLog
index f79a90a..9211d5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,306 @@
+commit 501c0ee63570da7501d047c51c40a2568af1df08
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Apr 12 11:51:21 2010 +1000
+
+ xserver 1.7.6.901
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 8c0548bc34dead67bc944a59664be6254be928bd
+Author: Tiago Vignatti <tiago.vignatti@nokia.com>
+Date: Thu Apr 1 18:57:50 2010 +0300
+
+ xfree86: die gracefully in the vga arbiter if AddScreen fails
+
+ vga arbiter will be locked in one device while AbortDDX will call LeaveVT
+ routines from the other device. Fail!
+
+ Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit b9ad452ec92a7dcbed680acb3f3b8ec29fa660df)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit e7154e9375e6b624db01a787d9ec6c8cedc2eb81
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Mar 17 14:32:38 2010 +1000
+
+ dix: if owner-events is true for passive grabs, add the window mask (#25400)
+
+ A client requesting a GrabModeSync button grab, owner-events true, with only
+ the ButtonRelease mask set would never receive the press event even if the
+ grab window had the ButtonPress mask set.
+
+ The protocol requires that if owner-events is true, then the delivery mask
+ is the combination of the grab mask + the window event mask.
+
+ X.Org Bug 25400 <http://bugs.freedesktop.org/show_bug.cgi?id=25400>
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Tested-by: Jim Ramsay <i.am@jimramsay.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 1c612acca8568fcdf9761d23f112adaf4d496f1b)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit d33b3bf41b92e088e7aacbbcb01df18bae50baa8
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 22 18:01:17 2010 +0100
+
+ Xext: Fix cursor reference counting hazard.
+
+ Make sure the reference count of the new cursor is increased before the old
+ one is decreased, otherwise bad things will happen if they're one and the
+ same and the reference count is 1 initially. Not sure this can actually happen
+ here, but better safe than sorry.
+
+ Signed-off-by: Michel Dänzer <daenzer@vmware.com>
+ Reviewed-by: Roland Scheidegger <sroland@vmware.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 3083c5d0c4386cdd7083b7a83ac72fdad2f1e61e)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 4520d5cc5faccc5a3b623d4c7e61068431a927cc
+Author: Mikhail Gusarov <dottedmag@dottedmag.net>
+Date: Tue Mar 23 01:03:53 2010 +0600
+
+ kdrive: Bump evdev maxKeycode
+
+ There are keycodes > 193 in evdev, e.g. KEY_WIMAX which is 246 .
+
+ Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Acked-by: Adam Jackson <ajax@nwnk.net>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit e086b99c1f5ce351b578de7cd9f616bc79d6cf64)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 48f8a7d1259a559b3cc774598b5d0d6edbc984bc
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Mar 22 09:20:49 2010 +1000
+
+ configure: Always define XINPUT.
+
+ This define was removed in e251c9e75afdc "Remove all traces of #ifdef XINPUT
+ and the matching bits from the configure.ac". Drivers that support multiple
+ server versions and still check for ifdef XINPUT now always build without
+ XINPUT support if they're calling XORG_DRIVER_CHECK_EXT(XINPUT, inputproto).
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
+ (cherry picked from commit 6389405b56d2221d8a7b80c4bb3bd3b4e1a29bab)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 1130a0def920fdeb064cd5958d59ee2882a79d28
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Tue Mar 23 10:37:36 2010 -0700
+
+ XKB: Fix garbage initialization
+
+ XkbEnableDisableControls set extra garbage bits on the xkbControlsNotify
+ changedControls mask because it was uninitialized on the stack.
+
+ Found by clang
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 8311cd5f89ca6781842bb24671b8122cdf8be148)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit ff5af4dc2d14c1bf2676f69e7dcee62eb9a08f78
+Author: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
+Date: Thu Mar 11 14:28:18 2010 -0300
+
+ dix: be more verbose when we run out of opcodes
+
+ If we run out of opcodes, nothing is print on the log, making the
+ problem hard to debug. In the current Xserver, if you enable some
+ extensions like multibuffer (+2 events) and use nvidia binary driver (+5
+ events) you can run out of opcode numbers.
+
+ Signed-off-by: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit a9fe7cfa77ccee64d68732dc3f37d35cbfc27a65)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2350035463bcfb6d80249b55ce392a154a8d91da
+Author: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
+Date: Fri Apr 2 12:48:21 2010 -0700
+
+ Don't keep a pointer to a possibly freed cursor when changing screens, preventing a crash in xf86CursorEnableDisableFBAccess() trying to restore it.
+
+ Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 6b09f66d8c6ebcee70382b5cca1ba82b68f20afa)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2297ad916a15a116e92f2549f59b222449f08b89
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Jan 8 15:18:41 2010 +1000
+
+ dix: EventToCore needs to copy the root window too.
+
+ This value isn't actually set for normal events but it saves us some work
+ for the record extension support.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit b4baab90c0d98bef98d485682d4a69a327a380d6)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 49a2b55e0e1e265c1393c04c9df8e73f30dccd33
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Sun Mar 28 13:46:23 2010 -0700
+
+ XQuartz: Re-query dixScreenOrigins as the value could've changed.
+
+ Fix a regression in 9c9c3a85b094a3c7b2763a572715d710325091aa
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+ Acked-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 28a5f14b4089dccb8045cc4fdc923542a73dd22d)
+
+commit 68319e7f0755a7d36ed1544214dceae0afa05b76
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Thu Mar 25 22:15:58 2010 -0700
+
+ XQuartz: Workaround weird key data reported on some layouts
+
+ This should make 'Unicode Hex Input' work as an input layout.
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+ Acked-by: Adam Jackson <ajax@redhat.com>
+ (cherry picked from commit 339207be6f184cc783076fc7e2cc12f92f57f2ba)
+
+commit 2ad8aae749fe08f139e3046e923da8233b9a7cd5
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 12 16:53:30 2010 +0100
+
+ hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions
+
+ The problem is that the xf86_use_hw_cursor(_argb) functions may get this
+ correctly now, some drivers will replace these generic versions with their
+ own functions. It is pretty insane to expect them to do reference counting
+ of the cursor (as an example, look at driver/xf86-video-vmware to see how
+ that looks like as a workaround). There are even places in xserver itself
+ which replace these two functions.
+ The segfaults if no reference counting is done are caused because the
+ reference count of the cursor reached zero, hence the cursor was freed,
+ however xf86CursorEnableDisableFBAccess() brought it back to life from
+ the dead (from the SavedCursor).
+ This patch hence adds reference counting in xf86CursorSetCursor. As per Michel
+ Daenzer's suggestion, also free the cursor upon xf86CursorCloseScreen.
+ In theory with this it should be possible to remove the reference
+ counting in the UseHwCursor functions I think, though it should also be
+ safe to keep them.
+
+ Signed-off-by: Roland Scheidegger <sroland@vmware.com>
+ Reviewed-by: Michel Dänzer <michel@daenzer.net>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 67a8c659f25218904bae64aac6e98e326c90330b)
+
+commit e481a4912bc53a09429002b2bf8c321b516d236f
+Author: Tomas Carnecky <tom@dbservice.com>
+Date: Mon Mar 22 11:20:15 2010 -0700
+
+ Fix typos in the swap functions
+
+ This should fix bug #3539.
+
+ Signed-off-by: Tomas Carnecky <tom@dbservice.com>
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 0c2fde5c8ad6e94b4ed1588aa93256a2b64f74d9)
+
+commit 2fa794f246b0224c458295a271a4246b52eb75c0
+Author: Peter Harris <pharris@opentext.com>
+Date: Tue Mar 23 12:08:19 2010 -0400
+
+ Fix crash when all glyphs of a given depth are freed, but not all glyphsets
+
+ This is how the crash can be triggered with only two clients on the system:
+ Client A: (already running)
+ Client B: Connect
+ Client B: CreateGlyphSet(depthN)
+ Client A: Disconnect
+ Server: free globalGlyphs(depthN)
+ Client B: AddGlyphs(depthN)
+ Server: SEGV
+
+ This crash was introduced with the FindGlyphsByHash function
+ in 516b96387b0e57b524a37a96da22dbeeeb041712. Before that revision,
+ ResizeGlyphSet was always called before FindGlyphRef, which would
+ re-create globalGlyphs(depthN) if necessary.
+
+ X.Org Bug 20718 <http://bugs.freedesktop.org/show_bug.cgi?id=20718>
+
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Peter Harris <pharris@opentext.com>
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ (cherry picked from commit 185185eeb44a277c324be0f58a4b4a469b56b69b)
+
+commit 4c85c3815a6f1698e91d2043d51a716948f8c1df
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri Mar 19 17:24:27 2010 -0700
+
+ XQuartz: Constrain the pointer to the updated display bounds on display reconfigure.
+
+ http://xquartz.macosforge.org/trac/ticket/346
+ (cherry picked from commit ed31d50b5f7f25e4db986711699704e615b8afcb)
+
+commit b226618f55a5393e32f339a963ae7aaf145c51a4
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Sat Mar 20 11:03:28 2010 -0700
+
+ XQuartz: pbproxy: Make standalone xpbproxy respect the launchd prefix
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
+ (cherry picked from commit 38215cc43e4c012588c7a50344b8fe368d1252cc)
+
+commit 088777f2b683d61d948cf346564a73b048da1ea2
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Sat Mar 20 03:28:57 2010 -0700
+
+ XQuartz: xpbproxy: Cleanup xpbproxy threading
+
+ Confine xpbproxy to a single thread
+ Runs inside its own CFRunLoop
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
+ (cherry picked from commit 69869d79f4c21eb385ff3c64bac649d93c7dd2ad)
+
+commit b3f4a9a64be4b6bcc81f13cf9677a486b42dd2b4
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri Mar 19 17:23:12 2010 -0700
+
+ XQuartz: Minor cleanup
+
+ Move RandRInit to where it will need to be (not yet implemented)
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+ (cherry picked from commit 7da4f9df9c6490e3e604c170415d5af2d8c8ff29)
+
+commit b444205399c236c21c68e2dda32ce51497dcd7e4
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Mar 19 15:26:50 2010 -0700
+
+ XQuartz: GLX: Fix Availability for Tiger ppc workaround
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
+ (cherry picked from commit 88baffc25a193c7c7154a94a687e7cb0f8b180ba)
+
commit c552ec12f9112901d5266c00fb3aaf4e06f5d614
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Mar 17 10:49:28 2010 +1000
diff --git a/debian/changelog b/debian/changelog
index d92fbdd..de1a504 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,6 @@
-xorg-server (2:1.7.6-3) UNRELEASED; urgency=low
+xorg-server (2:1.7.6.901-1) UNRELEASED; urgency=low
+
+ * New upstream release candidate.
[ Cyril Brulebois ]
* Steal patch 112_xaa-fbcomposite-fix-negative-size.patch from ubuntu,
@@ -26,7 +28,7 @@ xorg-server (2:1.7.6-3) UNRELEASED; urgency=low
* Add 17-xfree86-saner-conf-search-paths.diff. Allows using another
xorg.conf.d directory for local changes.
- -- Cyril Brulebois <kibi@debian.org> Mon, 05 Apr 2010 20:25:26 +0200
+ -- Julien Cristau <jcristau@debian.org> Fri, 16 Apr 2010 19:01:02 +0200
xorg-server (2:1.7.6-2) unstable; urgency=low
commit 501c0ee63570da7501d047c51c40a2568af1df08
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Apr 12 11:51:21 2010 +1000
xserver 1.7.6.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index 45de198..058ad01 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.7.6, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2010-03-17"
+AC_INIT([xorg-server], 1.7.6.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2010-04-12"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
AM_MAINTAINER_MODE
commit 8c0548bc34dead67bc944a59664be6254be928bd
Author: Tiago Vignatti <tiago.vignatti@nokia.com>
Date: Thu Apr 1 18:57:50 2010 +0300
xfree86: die gracefully in the vga arbiter if AddScreen fails
vga arbiter will be locked in one device while AbortDDX will call LeaveVT
routines from the other device. Fail!
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b9ad452ec92a7dcbed680acb3f3b8ec29fa660df)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index d3de670..09741d7 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -1245,7 +1245,9 @@ AbortDDX(void)
* we might not have been wrapped yet. Therefore enable
* screen explicitely.
*/
+ xf86VGAarbiterLock(xf86Screens[i]);
(xf86Screens[i]->LeaveVT)(i, 0);
+ xf86VGAarbiterUnlock(xf86Screens[i]);
}
}
commit e7154e9375e6b624db01a787d9ec6c8cedc2eb81
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Mar 17 14:32:38 2010 +1000
dix: if owner-events is true for passive grabs, add the window mask (#25400)
A client requesting a GrabModeSync button grab, owner-events true, with only
the ButtonRelease mask set would never receive the press event even if the
grab window had the ButtonPress mask set.
The protocol requires that if owner-events is true, then the delivery mask
is the combination of the grab mask + the window event mask.
X.Org Bug 25400 <http://bugs.freedesktop.org/show_bug.cgi?id=25400>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Jim Ramsay <i.am@jimramsay.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 1c612acca8568fcdf9761d23f112adaf4d496f1b)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/dix/events.c b/dix/events.c
index 3c625db..732740e 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -3552,6 +3552,8 @@ CheckPassiveGrabsOnWindow(
xE = &core;
count = 1;
mask = grab->eventMask;
+ if (grab->ownerEvents)
+ mask |= pWin->eventMask;
} else if (match & XI2_MATCH)
{
rc = EventToXI2((InternalEvent*)event, &xE);
@@ -3573,6 +3575,24 @@ CheckPassiveGrabsOnWindow(
mask = grab->xi2mask[device->id][((xGenericEvent*)xE)->evtype/8];
else if (event->type == XI_Enter || event->type == XI_FocusIn)
mask = grab->xi2mask[device->id][event->type/8];
+
+ if (grab->ownerEvents && wOtherInputMasks(grab->window))
Reply to: